diff options
Diffstat (limited to 'cli.py')
| -rw-r--r-- | cli.py | 66 |
1 files changed, 0 insertions, 66 deletions
@@ -1,66 +0,0 @@ -#!/usr/bin/python3 - -import os -import argparse -import asyncio -import asyncpg - -import joblib.joblib - -queue_db = { - "host": os.environ.get("POSTGRESQL_SOURCE_HOST") or "localhost", - "port": os.environ.get("POSTGRESQL_SOURCE_PORT") or 5433, - "user": os.environ.get("POSTGRESQL_SOURCE_USER") or "vainraw", - "password": os.environ.get("POSTGRESQL_SOURCE_PASSWORD") or "vainraw", - "database": os.environ.get("POSTGRESQL_SOURCE_DB") or "vainsocial-raw" -} - -db_config = { - "host": os.environ.get("POSTGRESQL_DEST_HOST") or "localhost", - "port": os.environ.get("POSTGRESQL_DEST_PORT") or 5432, - "user": os.environ.get("POSTGRESQL_DEST_USER") or "vainweb", - "password": os.environ.get("POSTGRESQL_DEST_PASSWORD") or "vainweb", - "database": os.environ.get("POSTGRESQL_DEST_DB") or "vainsocial-web" -} - - -async def main(qdb, sdb, name): - queue = joblib.joblib.JobQueue() - await queue.connect(**qdb) - await queue.setup() - pool = await asyncpg.create_pool(**sdb) - - async with pool.acquire() as con: - async with con.transaction(): - participants = await con.fetch(""" -select -unnest(array[ -roster.participant_1, -roster.participant_2, -roster.participant_3 -]) AS api_id -from roster where roster.match_api_id in ( -select -match.api_id -from player -join participant on participant.player_api_id=player.api_id -join roster on participant.roster_api_id=roster.api_id -join match on roster.match_api_id=match.api_id -where player.name=$1 -) - """, name) - payload = [{ - "id": part["api_id"], - "type": "participant" - } for part in participants] - await queue.request(jobtype="analyze", - payload=payload) - -parser = argparse.ArgumentParser(description="Request a Vainsocial analyze.") -parser.add_argument("-n", "--player", - help="Player name", - type=str) -args = parser.parse_args() - -loop = asyncio.get_event_loop() -loop.run_until_complete(main(queue_db, db_config, args.player)) |
