summaryrefslogtreecommitdiffstats
path: root/gamechestcli/__main__.py
blob: 8fe912d711fb5dd117d0f98b2a66ddd8aa6e3e86 (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
#!/usr/bin/python3
'''
Manage games. Install, remove, run them.

Usage: gamechest install <GAME_ID>
       gamechest remove <GAME_ID>
       gamechest run [--profile_id=<PROFILE_ID>] <GAME_ID>
       gamechest set [--profile_id=<PROFILE_ID>] [--remote_basedir=<BASEDIR>] [--gamesaves_path]

'''

import sys

import docopt

from gamechest.cliactions import install, remove, run
from gamechest.gameconfig import config


def main():
    args = docopt.docopt(__doc__)
    #print(args); raise SystemExit(0)

    if args['install']:
        install.install(args['<GAME_ID>'])
    elif args['remove']:
        remove.remove(args['<GAME_ID>'])
    elif args['run']:
        profile_id = args['--profile_id'] or config.get_profile_id()
        if not profile_id:
            print('profile_id must be not null', file=sys.stderr)
        run.run(args['<GAME_ID>'], profile_id)
    elif args['set']:
        if args['--profile_id']:
            config.set_profile_id(args['--profile_id'])
        if args['--remote_basedir']:
            config.set_remote_basedir(args['--remote_basedir'])
        if args['--gamesaves_path']
            config.set_gamesaves_path(args['--gamesaves_path'])
        config.save()


if __name__ == "__main__":
    main()