+ parser.add_argument("--parallel", action='store_true', default=True, dest="parallel")
+ parser.add_argument("--no-parallel", action='store_false', dest="parallel")
+ parser.add_argument("--report-db", action='store_true', default=True, dest="report_db",
+ help="Store report to database (default)")
+ parser.add_argument("--no-report-db", action='store_false', dest="report_db",
+ help="Don't store report to database")
+ parser.add_argument("--report-path", required=False,
+ help="Where to store the reports (default: absent, don't store)")
+ parser.add_argument("--no-report-path", action='store_const', dest='report_path', const=None,
+ help="Don't store the report to file (default)")
+ parser.add_argument("--db-host", default="localhost",
+ help="Host access to database (default: localhost)")
+ parser.add_argument("--db-port", default=5432,
+ help="Port access to database (default: 5432)")
+ parser.add_argument("--db-user", default="cryptoportfolio",
+ help="User access to database (default: cryptoportfolio)")
+ parser.add_argument("--db-password", default="cryptoportfolio",
+ help="Password access to database (default: cryptoportfolio)")
+ parser.add_argument("--db-database", default="cryptoportfolio",
+ help="Database access to database (default: cryptoportfolio)")
+
+ return parser.parse_args(argv)
+
+def process(market_config, market_id, user_id, args, pg_config):
+ try:
+ market.Market\
+ .from_config(market_config, args, market_id=market_id,
+ pg_config=pg_config, user_id=user_id)\
+ .process(args.action, before=args.before, after=args.after)
+ except Exception as e:
+ print("{}: {}".format(e.__class__.__name__, e))