21 lines
1.3 KiB
Python
21 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""Holt briefe/brief-SLUG.json aus Gitea nach build/lokal/briefe/SLUG.json. Aufruf: python3 build/briefe_holen.py SLUG [...]"""
|
|
import base64, json, os, sys
|
|
exec(open(os.path.join(os.path.dirname(__file__), 'push_gitea.py'), encoding='utf-8').read().split('def sammle')[0])
|
|
os.makedirs('build/lokal/briefe', exist_ok=True)
|
|
for s in sys.argv[1:]:
|
|
code, d = ruf('GET', f"{REPO}/contents/briefe/brief-{s}.json?ref=main")
|
|
if code != 200:
|
|
print('fehlt', s); continue
|
|
b = json.loads(base64.b64decode(d['content']).decode())
|
|
json.dump(b, open(f'build/lokal/briefe/{s}.json', 'w', encoding='utf-8'), ensure_ascii=False, indent=2)
|
|
z = b.get('zusatz', {})
|
|
print(f"== {s} | {b['query_id']} | Ziel {b['wortzahl_ziel']}")
|
|
print(' Pflicht:', ' | '.join(f"{x['begriff']}:{x['min']}-{x['max']}" for x in b['begriffe_pflicht']))
|
|
print(' Titel:', ', '.join(z.get('begriffe_titel', [])))
|
|
print(' Desc:', ', '.join(z.get('begriffe_description', [])))
|
|
print(' H2:', ', '.join(z.get('begriffe_h2', [])[:25]))
|
|
erw = sorted(b['begriffe_erweitert'], key=lambda x: -(x['bei_wettbewerbern_pc'] or 0))
|
|
print(' Erweitert:', ', '.join(x['begriff'] for x in erw[:45]))
|
|
print(' Fragen:', ' / '.join(f['frage'] for f in b['fragen'][:8]))
|