-
Notifications
You must be signed in to change notification settings - Fork 0
/
readme.py
43 lines (35 loc) · 1.09 KB
/
readme.py
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
from core.dblite import DBLite
from core.api import Api
import argparse
from textwrap import dedent
parser = argparse.ArgumentParser(
description='Reescribe README.md',
)
parser.add_argument(
'--db', type=str, default="out/db.sqlite"
)
parser.add_argument(
'--md', type=str, default="README.md"
)
ARG = parser.parse_args()
def read(file):
with open(file, "r") as f:
return f.read().strip()
urls = [
("Buscador de centros", Api.URL),
("Portal de datos abiertos", "https://datos.comunidad.madrid/catalogo/dataset/centros_educativos/resource/9578660d-f9de-48f4-a387-7f1a8333338b")
]
with DBLite(ARG.db, readonly=True) as db:
urls.extend(
db.to_tuple("select txt, url from concurso")
)
content = "\n# FAQ\n\n" + read(ARG.md).split("# FAQ")[1].strip()
with open(ARG.md, "w") as f:
f.write("Crea una base de datos `sqlite` a partir del:\n\n")
for txt, url in urls:
f.write(f"* [{txt}]({url})\n")
f.write(dedent('''
El resultado actual se puede consular en [`db.sql`](out/db.sql).
![diagrama](out/db.svg)
'''))
f.write(content)