]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - main.py
Merge branch 'dev'
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / main.py
diff --git a/main.py b/main.py
index ab523bec068fa4c00e08de16a1bf54ea7ef378ae..a7ad8f73db8e3983171b9727a9e0e898915c7b5b 100644 (file)
--- a/main.py
+++ b/main.py
@@ -64,19 +64,30 @@ def get_user_market(config_path, user_id, debug=False):
         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:
@@ -152,11 +163,11 @@ def parse_args(argv):
         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))
@@ -180,8 +191,8 @@ def main(argv):
     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: