Skip to content
Snippets Groups Projects
Commit 94ed4478 authored by Martin Mareš's avatar Martin Mareš
Browse files

Školy: init-schools umí dry run a vypisuje lepší statistiky

parent ab50103c
No related branches found
No related tags found
No related merge requests found
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
# nemusí odpovídat skutečnému sídlu školy. Proto si poněkud magicky pomáháme # nemusí odpovídat skutečnému sídlu školy. Proto si poněkud magicky pomáháme
# číselníkem obcí z RUIANu. # číselníkem obcí z RUIANu.
import argparse
from typing import List, Dict, DefaultDict from typing import List, Dict, DefaultDict
import sys import sys
from pathlib import Path from pathlib import Path
...@@ -17,6 +18,7 @@ from collections import defaultdict ...@@ -17,6 +18,7 @@ from collections import defaultdict
session = db.get_session() session = db.get_session()
new_town_cnt = 0 new_town_cnt = 0
processed_school_cnt = 0
new_school_cnt = 0 new_school_cnt = 0
...@@ -91,10 +93,12 @@ def import_schools(path: Path, nuts: str): ...@@ -91,10 +93,12 @@ def import_schools(path: Path, nuts: str):
is_zs=is_zs, is_zs=is_zs,
is_ss=not is_zs) is_ss=not is_zs)
session.add(school) session.add(school)
global new_school_cnt global new_school_cnt
new_school_cnt += 1 new_school_cnt += 1
global processed_school_cnt
processed_school_cnt += 1
def parse_header(header: str) -> Dict[str, int]: def parse_header(header: str) -> Dict[str, int]:
columns = {} columns = {}
...@@ -190,6 +194,10 @@ def load_ruian(): ...@@ -190,6 +194,10 @@ def load_ruian():
# print(f"{jmeno} -> {okres}") # print(f"{jmeno} -> {okres}")
ruian_obec_to_okres_nuts[jmeno].append(okres[ocols['NUTS_LAU']]) ruian_obec_to_okres_nuts[jmeno].append(okres[ocols['NUTS_LAU']])
parser = argparse.ArgumentParser(description='Importuje školy z naparsovaného Rejstříku škol')
parser.add_argument('-n', '--dry-run', default=False, action='store_true', help='pouze ukáže, co by bylo provedeno')
args = parser.parse_args()
load_ruian() load_ruian()
...@@ -199,5 +207,7 @@ for path in Path('db/skoly/parsed').glob('*.tsv'): ...@@ -199,5 +207,7 @@ for path in Path('db/skoly/parsed').glob('*.tsv'):
nuts = m[1] nuts = m[1]
import_schools(path, nuts) import_schools(path, nuts)
if not args.dry_run:
session.commit() session.commit()
print(f"Importováno {new_school_cnt} škol, založeno {new_town_cnt} nových obcí.") print(f"Importováno {processed_school_cnt} škol.")
print(f"Založeno {new_school_cnt} nových škol a {new_town_cnt} nových obcí.")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment