summaryrefslogtreecommitdiff
path: root/boards/generate.py
blob: 13c7d72ecaea79b97268c3fbef23831081542390 (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
import json, sys
from datetime import datetime
from pathlib import Path


config_dir = Path('config')
for config_path in config_dir.glob('*.json'):
    config_name = config_path.stem
    print('Found config "%s" in %s' % (config_name, config_path), file=sys.stderr)
    with open(config_path) as config_file:
        config = json.load(config_file)

    output_dir = Path('output') / config_name
    output_dir.mkdir(parents=True, exist_ok=True)

    content = ''
    for section in config['sections']:
        content += '<tr><td class="bdnt12" colspan="3">%s</td></tr>' % (section['title'])
        for dealset in section['sets']:
            set_enabled = False
            set_finished = True
            set_content = '<tr><td class="bdcc1" colspan="3">%s</td></tr>' % (dealset['title'])
            for pbn in dealset['files']:
                if pbn.get('enabled', 0):
                    set_enabled = True
                    set_content += '<tr>'
                    set_content += '<td class="bd1">%s</td>' % (pbn['name'])
                    for filetype in ('pbn', 'pdf'):
                        set_content += '<td class="bdc"><a class="zb" href="files/%s.%s">%s</a></td>' % (pbn['path'], filetype, filetype)
                    set_content += '</tr>'
                else:
                    set_finished = False
            if set_finished:
                set_content += '<tr>'
                set_content += '<td class="bd1" colspan="2">%s</td>' % (dealset['zip'].get('title', 'cały mecz'))
                set_content += '<td class="bdc"><a class="zb" href="files/%s.zip">zip</a></td>' % (dealset['zip']['id'])
                set_content += '</tr>'
            if set_enabled:
                content += set_content
        content += '<tr><td class="e" colspan="3">&nbsp;</td></tr>'

    with open('template/%s.html' % (config_name)) as template_file:
        template = template_file.read()
    with open('template/%s.logo.html' % (config_name)) as logoh_file:
        template = template.replace('<!---[LOGOH]--->', logoh_file.read())
    template = template.replace('<!---[CONTENT]--->', content)
    template = template.replace('<!---[GENDATE]--->', datetime.now().strftime('%Y-%m-%d %X'))

    with open(output_dir / 'index.html', 'w') as output_file:
        output_file.write(template)