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
51
52
53
54
55
56
57
58
59
|
#!/usr/bin/env python3
# SPDX-License-Identifier: CC0-1.0
#
# Copyright (C) 2022 Wojtek Kosior <koszko@koszko.org>
#
# Available under the terms of Creative Commons Zero v1.0 Universal.
import json
import random
import click
import sys
from pathlib import Path
here = Path(__file__).resolve().parent
trans = {
'en': {
'blessed_male': 'blessed',
'blessed_female': 'blessed',
'saint_female': 'saint',
'saint_male': 'saint',
'meet_krk_saints': 'Meet Kraków saints! '
},
'pl': {
'blessed_male': 'błogosławiony',
'blessed_female': 'błogosławiona',
'saint_female': 'święta',
'saint_male': 'święty',
'meet_krk_saints': 'Poznaj świętych krakowskich!'
}
}
saints = json.loads((here / 'saints.json').read_text())
@click.command()
@click.option('-i', '--saint-id', default='-1', type=click.types.INT,
show_default=True, help='which saint to format (-1 for random)')
def main(saint_id):
if saint_id == -1:
[(saint_id, saint)] = random.sample([*saints.items()], 1)
else:
saint_id = str(saint_id)
saint = saints.get(saint_id)
if saint is None:
print('No such saint!', file=sys.stderr)
return sys.exit(1)
title_key = f'{saint["title"]}_{saint["gender"]}'
for lang in ('en', 'pl'):
tr = trans[lang]
print(f'{tr["meet_krk_saints"]} #{saint_id}: {tr[title_key]} {saint["name"]}')
print(f'https://pl.wikipedia.org/wiki/{saint["wikipedia_name"]}')
if __name__ == '__main__':
main()
|