args.append("--debug")
args = parse_args(args)
parse_config(args)
- market_id, market_config, user_id = list(fetch_markets(str(user_id)))[0]
- return market.Market.from_config(market_config, args, user_id=user_id)
+ market_id, market_config, user_id, options = list(fetch_markets(str(user_id)))[0]
+ return market.Market.from_config(market_config, args, user_id=user_id, options=options)
def fetch_markets(user):
cursor = dbs.psql.cursor()
if user is None:
- cursor.execute("SELECT id,config,user_id FROM market_configs WHERE status='enabled'")
+ cursor.execute("SELECT id,config,user_id,portfolio_profile FROM market_configs_augmented WHERE status='enabled'")
else:
- cursor.execute("SELECT id,config,user_id FROM market_configs WHERE status='enabled' AND user_id = %s", [user])
+ cursor.execute("SELECT id,config,user_id,portfolio_profile FROM market_configs_augmented WHERE status='enabled' AND user_id = %s", [user])
for row in cursor:
- yield row
+ options = {
+ "liquidity": parse_liquidity(row[3])
+ }
+ yield row[0:3] + (options,)
+
+def parse_liquidity(value):
+ if value == "high-liquidity":
+ return "high"
+ elif value == "medium-liquidity":
+ return "medium"
+ else:
+ return None
def parse_config(args):
if args.db_host is not None:
parsed.action = ["sell_all"]
return parsed
-def process(market_config, market_id, user_id, args):
+def process(market_config, market_id, user_id, args, options):
try:
market.Market\
.from_config(market_config, args, market_id=market_id,
- user_id=user_id)\
+ user_id=user_id, options=options)\
.process(args.action, before=args.before, after=args.after)
except Exception as e:
print("{}: {}".format(e.__class__.__name__, e))
else:
process_ = process
- for market_id, market_config, user_id in fetch_markets(args.user):
- process_(market_config, market_id, user_id, args)
+ for market_id, market_config, user_id, options in fetch_markets(args.user):
+ process_(market_config, market_id, user_id, args, options)
if args.parallel:
for thread in threads: