summaryrefslogtreecommitdiff
path: root/cli.py
blob: 84f2922762080e9e480ea9e6bb6b073b2e241bcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/python3

import os
import argparse
import asyncio

import joblib

async def main(args):
    queue = joblib.JobQueue()
    await queue.connect(host=args.host,
                        port=args.port,
                        user=args.user,
                        password=args.password,
                        database=args.database)
    await queue.setup()
    if args.cleanup:
        await queue.cleanup()

    if args.player:
        payload = {
            "region": args.region,
            "params": {
                "filter[createdAt-start]": "2017-02-01T00:00:00Z",
                "filter[playerNames]": args.player
            }
        }
        await queue.request(jobtype="grab",
                            payload=payload,
                            priority=args.priority)

parser = argparse.ArgumentParser(description="Request a Vainsocial update.")
parser.add_argument("-n", "--player",
                    help="Player name",
                    type=str)
parser.add_argument("-c", "--cleanup",
                    help="Reset all unfinished jobs",
                    action="store_true")
parser.add_argument("-r", "--region",
                    help="Specify a region",
                    type=str,
                    choices=["na", "eu", "sg"],
                    default="na")
parser.add_argument("-p", "--priority",
                    help="Set the priority",
                    type=int,
                    default=0)
parser.add_argument("--host",
                    help="Database host",
                    type=str,
                    default=os.environ.get("POSTGRESQL_HOST") or "localhost")
parser.add_argument("--port",
                    help="Database port",
                    type=int,
                    default=os.environ.get("POSTGRESQL_PORT") or 5432)
parser.add_argument("--user",
                    help="Database user",
                    type=str,
                    default=os.environ.get("POSTGRESQL_USER") or "vainsocial")
parser.add_argument("--password",
                    help="Database password",
                    type=str,
                    default=os.environ.get("POSTGRESQL_PASSWORD") or "")
parser.add_argument("--database",
                    help="Database name",
                    type=str,
                    default=os.environ.get("POSTGRESQL_DB") or "vainraw")
args = parser.parse_args()

loop = asyncio.get_event_loop()
loop.run_until_complete(main(args))