summaryrefslogtreecommitdiff
path: root/playoff.py
blob: 6a2a8ff0cf8b5c5385ed56f38edc510b68f28e64 (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
import traceback

from jfr_playoff.filemanager import PlayoffFileManager
from jfr_playoff.generator import PlayoffGenerator
from jfr_playoff.settings import PlayoffSettings


def main():

    interactive = False

    try:
        import argparse
        arg_parser = argparse.ArgumentParser(
            description='Generate play-off HTML for JFR Teamy tournaments')
        output_args = arg_parser.add_mutually_exclusive_group()
        output_args.add_argument('-v', '--verbose', action='store_true',
                                 help='display info on STDERR')
        output_args.add_argument('-vv', '--debug', action='store_true',
                                 help='display debug info on STDERR')
        output_args.add_argument('-q', '--quiet', action='store_true',
                                 help='suppress warnings on STDERR')
        arg_parser.add_argument('config_file', metavar='JSON_FILE',
                                help='path to config JSON file',
                                type=str, nargs='?', default=None)
        arguments = arg_parser.parse_args()

        settings = PlayoffSettings(arguments.config_file)
        interactive = settings.interactive

        generator = PlayoffGenerator(settings)
        content = generator.generate_content()

        file_manager = PlayoffFileManager(settings)
        file_manager.write_content(content)
        file_manager.copy_scripts()
        file_manager.send_files()
    except SystemExit:
        interactive = False
        raise
    except:
        print traceback.format_exc()
    finally:
        if interactive:
            raw_input('Press any key to continue...')

if __name__ == '__main__':
    main()