Source code for babao.arg
"""Argv parsing"""
import argparse
import babao.commands as cmd
[docs]def parseArgv(args):
"""Parse argv ´args´"""
parser = argparse.ArgumentParser(
description="A bitcoin trading machine.",
epilog="Run 'babao <command> --help' for detailed help."
)
parser.add_argument(
"-g", "--graph",
help="show a chart (matplotlib)",
action="store_true"
)
parser.add_argument(
"-f", "--fuck-it",
help="stop bitching about existing lockfile",
dest="fuckit",
action="store_true"
)
group = parser.add_mutually_exclusive_group()
group.add_argument(
"-v", "--verbose",
help="increase output verbosity",
action="count",
default=1
)
group.add_argument(
"-q", "--quiet",
help="stfu damn bot",
action="store_true"
)
subparsers = parser.add_subparsers(
title="commands",
metavar="<command> [<args>]"
)
parser_d = subparsers.add_parser(
"dry-run",
aliases="d",
help="real-time bot simulation",
description="real-time bot simulation",
)
parser_d.set_defaults(func=cmd.dryRun)
parser_w = subparsers.add_parser(
"wet-run",
aliases="w",
help="real-time bot with real-money!",
description="real-time bot with real-money!",
)
parser_w.set_defaults(func=cmd.wetRun)
parser_t = subparsers.add_parser(
"training",
aliases="t",
help="train model(s)",
description="train model(s)",
)
parser_t.set_defaults(func=cmd.train)
parser_b = subparsers.add_parser(
"backtest",
aliases="b",
help="backtest previously trained model(s)",
description="backtest previously trained model(s)",
)
parser_b.set_defaults(func=cmd.backtest)
parser_f = subparsers.add_parser(
"fetch",
aliases="f",
help="fetch raw trade data since the beginning of times",
description="fetch raw trade data since the beginning of times",
)
# parser_f.add_argument('TIMESTAMP', type=int, default=0, help="start date")
parser_f.set_defaults(func=cmd.fetch)
args = parser.parse_args(args=args)
try:
args.func
except AttributeError:
parser.print_help()
parser.exit()
return args