71 lines
1.9 KiB
Python
Executable File
71 lines
1.9 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
import re
|
|
import subprocess
|
|
|
|
head = '''<!doctype html>
|
|
<html>
|
|
<head>
|
|
<title>{} {} week {}</title>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<link rel="icon" href="favicon.ico" type="image/ico" />
|
|
<link rel="stylesheet" href="style.css" />
|
|
<link rel="stylesheet" type="text/css" href="tooltip.css" />
|
|
<script type="text/javascript" src="tooltip.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="title">
|
|
<h1>{} {} week {}</h1>
|
|
terugkijkend over vier weken
|
|
</div>
|
|
<div class="main">
|
|
'''
|
|
|
|
tail=''' </div>
|
|
</body>
|
|
</html>
|
|
'''
|
|
|
|
namen = {
|
|
'algemeen': 'Algemeen',
|
|
'VRT': 'Vlaanderen',
|
|
'groningen': 'Groningen',
|
|
'AT5': 'Amsterdam',
|
|
'Tzum': 'Literatuur'
|
|
}
|
|
|
|
verbose=False
|
|
if sys.argv[1] == '-v':
|
|
verbose=True
|
|
sys.argv = sys.argv[:1] + sys.argv[2:]
|
|
|
|
ep=sys.argv[1]
|
|
if not re.match('^2[0-9][0-9][0-9]-[0-5][0-9]$', ep):
|
|
print("Ongeldig patroon '", ep, "', moet yyyy-ww zijn")
|
|
sys.exit(1)
|
|
|
|
jaar=ep[:4]
|
|
week=ep[5:].lstrip('0')
|
|
|
|
for base in ('algemeen', 'VRT', 'groningen', 'AT5', 'Tzum'):
|
|
name = namen[base]
|
|
with open(name + '.html', 'wt', encoding='utf-8') as fp:
|
|
fp.write(head.format(name, jaar, week, name, jaar, week))
|
|
fp.flush()
|
|
for part in ('nieuwe-namen', 'nieuwe-woorden', 'personen', 'overige-namen', 'locaties', 'organisaties'):
|
|
if verbose:
|
|
print(base, part)
|
|
if part == 'locaties':
|
|
fp.write('</div>\n<div class="main next">\n')
|
|
fp.flush()
|
|
top = ''
|
|
if part.startswith('nieuwe'):
|
|
top = '.t20'
|
|
subprocess.run(
|
|
['./top2html.py', '../data/{}-{}-{}-4{}'.format(base, part, ep, top)],
|
|
stdout = fp,
|
|
check = False)
|
|
fp.write(tail)
|