Files
Skrift-Auto-Article/build/briefe_holen.py

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]))