Skip to content

Commit

Permalink
[justice] nové objekty (#203)
Browse files Browse the repository at this point in the history
  • Loading branch information
kokes authored Jul 20, 2022
1 parent b5d5313 commit 3cf03b1
Show file tree
Hide file tree
Showing 3 changed files with 275 additions and 12 deletions.
36 changes: 25 additions & 11 deletions data/justice/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def nahraj_ds(url):
yield from et


def zpracuj_ds(url, schemas, outdir, partial):
def zpracuj_ds(url, schemas, outdir, partial, autogen):
et = nahraj_ds(url)

fs, csvs, schemasd = dict(), dict(), dict()
Expand Down Expand Up @@ -147,7 +147,8 @@ def zpracuj_ds(url, schemas, outdir, partial):
udaj_typ = udaj_raw.find("udajTyp/kod").text

if udaj_typ not in schemasd:
# TODO(PR): queue na schema_autogen
# print("nenalezeno", udaj_typ, url)
autogen.put((udaj_typ, gen_schema(udaj_raw)))
continue

if not schemasd[udaj_typ].get("ignore", False):
Expand All @@ -171,11 +172,8 @@ def zpracuj_ds(url, schemas, outdir, partial):
podudaj_typ = podudaj_raw.find("udajTyp/kod").text

if podudaj_typ not in schemasd:
# TODO(PR): queue na schema_autogen
# schema_autogen[podudaj_typ] = merge(
# gen_schema(podudaj_raw),
# schema_autogen.get(podudaj_typ, {}),
# )
# print("nenalezeno", podudaj_typ, url)
autogen.put((podudaj_typ, gen_schema(podudaj_raw)))
continue

if not schemasd[podudaj_typ].get("ignore", False):
Expand Down Expand Up @@ -252,8 +250,14 @@ def main(outdir: str, partial: bool = False):
with open(os.path.join(cdir, "xml_schema.json"), encoding="utf-8") as f:
schemas = json.load(f)

# samotna multiprocessing.queue z nejakyho duvodu nefungovala
autogen = multiprocessing.Manager().Queue()
zpracuj = functools.partial(
zpracuj_ds, schemas=schemas, outdir=outdir, partial=partial
zpracuj_ds,
schemas=schemas,
outdir=outdir,
partial=partial,
autogen=autogen,
)
progress = tqdm(total=len(urls))
# TODO: chcem fakt jet naplno? co kdyz budem parametrizovat jednotlivy moduly?
Expand All @@ -267,9 +271,19 @@ def main(outdir: str, partial: bool = False):
# logging.debug(url)?
progress.update(n=1)

# TODO: resolve
# with open('xml_schema_chybejici.json', 'w') as fw:
# json.dump(schema_autogen, fw, indent=2, ensure_ascii=False)
# nezpracovany objekty je treba rucne projit
schema_autogen = dict()
while not autogen.empty():
obj, schema = autogen.get()
schema_autogen[obj] = merge(
schema,
schema_autogen.get(obj, {}),
)
if len(schema_autogen):
print(f"nalezeno {len(schema_autogen)} neznamych objektu ve zdrojovych datech")
print("exportuji xml_schema_chybejici.json")
with open("xml_schema_chybejici.json", "w") as fw:
json.dump(schema_autogen, fw, indent=2, ensure_ascii=False)


if __name__ == "__main__":
Expand Down
118 changes: 118 additions & 0 deletions data/justice/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,124 @@
Column("bydliste_cislo_text", Text, nullable=True),
Column("bydliste_doplnujici_text", Text, nullable=True),
),
Table(
"zahajeni_zruseni",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
Column("text", Text, nullable=False),
),
Table(
"euid",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
Column("euid", Text, nullable=False),
),
Table(
"sicav",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
Column("text", Text, nullable=False),
),
Table(
"status_spolku",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
Column("text", Text, nullable=False),
),
Table(
"predmet_vedlejsi_cinnosti",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
Column("text", Text, nullable=False),
),
Table(
"omezeni_darcem",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
Column("text", Text, nullable=False),
),
Table(
"znepristupneni_udaju",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
Column("znepristupneno", Boolean, nullable=False),
),
Table(
"clen_sdruzeni_osoba",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
Column("angazma_typ", Text, nullable=False),
Column("text_osoba", Text, nullable=True),
Column("text_zruseni", Text, nullable=True),
Column("osoba_nazev", Text, nullable=True),
Column("osoba_reg_cislo", Text, nullable=True),
Column("osoba_ico", Integer, nullable=True),
Column("osoba_euid", Text, nullable=True),
Column("osoba_jmeno", Text, nullable=True),
Column("osoba_prijmeni", Text, nullable=True),
Column("osoba_datum_narozeni", Date, nullable=True),
Column("adresa_stat_nazev", Text, nullable=False),
Column("adresa_obec", Text, nullable=True),
Column("adresa_ulice", Text, nullable=True),
Column("adresa_psc", Text, nullable=True),
Column("adresa_cast_obce", Text, nullable=True),
Column("adresa_cislo_po", Integer, nullable=True),
Column("adresa_cislo_or", Integer, nullable=True),
Column("adresa_okres", Text, nullable=True),
Column("adresa_adresa_text", Text, nullable=True),
),
Table(
"odstepny_zavod_vedouci",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
Column("spravce", Boolean, nullable=True),
Column("text", Text, nullable=True),
Column("osoba_jmeno", Text, nullable=False),
Column("osoba_prijmeni", Text, nullable=False),
Column("osoba_datum_narozeni", Date, nullable=False),
Column("osoba_titul_pred", Text, nullable=True),
Column("osoba_titul_za", Text, nullable=True),
Column("adresa_stat_nazev", Text, nullable=False),
Column("adresa_ulice", Text, nullable=True),
Column("adresa_psc", Text, nullable=True),
Column("adresa_obec", Text, nullable=True),
Column("adresa_cast_obce", Text, nullable=True),
Column("adresa_cislo_po", Integer, nullable=True),
Column("adresa_cislo_or", Integer, nullable=True),
Column("adresa_okres", Text, nullable=True),
),
Table(
"nesrovnalost",
meta,
Column("ico", Integer, nullable=False),
Column("datum_zapis", Date, nullable=False),
Column("datum_vymaz", Date, nullable=True),
# TODO: tyhle dve jsou ve skutecnosti datum, ale spatne uvedeny
Column("zahajeni_rizeni", Text, nullable=True),
Column("ukonceni_rizeni", Text, nullable=True),
Column("zpusob_vyrizeni", Text, nullable=True),
Column("verejna", Boolean, nullable=True),
Column("text_prvni_faze", Text, nullable=False),
Column("text_druha_faze", Text, nullable=True),
),
]


Expand Down
133 changes: 132 additions & 1 deletion data/justice/xml_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@
"NASTUPCE_ZRIZOVATELE_SEKCE",
"OPATROVNIK_SEKCE",
"ROZHODCI_KOMISE",
"VKLAD_CLEN_DRUZSTVA_SEKCE"
"VKLAD_CLEN_DRUZSTVA_SEKCE",
"CLEN_SDRUZENI"
],
"ignore": true,
"schema": {
Expand Down Expand Up @@ -121,6 +122,9 @@
"UCEL_SUBJEKTU_SEKCE",
"DOPLNKOVA_CINNOST_SEKCE",
"SKUTECNY_MAJITEL_SEKCE",
"NESROVNALOST_SEKCE",
"OMEZENI_DARCEM_SEKCE",
"PREDMET_VEDLEJSI_CINNOSTI_SEKCE",
"INSOLVENCE"
],
"ignore": true,
Expand Down Expand Up @@ -512,5 +516,132 @@
"bydliste_cislo_text": "bydliste/cisloText",
"bydliste_doplnujici_text": "bydliste/doplnujiciText"
}
},
{
"udaj": "ZAHAJENI_O_ZRUSENI",
"soubor": "zahajeni_zruseni",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"text": "hodnotaText"
}
},
{
"udaj": "EUID",
"soubor": "euid",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"euid": "hodnotaText"
}
},
{
"udaj": "SICAV",
"soubor": "sicav",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"text": "hodnotaText"
}
},
{
"udaj": "STATUS_SPOLKU",
"soubor": "status_spolku",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"text": "hodnotaText"
}
},
{
"udaj": "PREDMET_VEDLEJSI_CINNOSTI",
"soubor": "predmet_vedlejsi_cinnosti",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"text": "hodnotaText"
}
},
{
"udaj": "OMEZENI_DARCEM",
"soubor": "omezeni_darcem",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"text": "hodnotaText"
}
},
{
"udaj": "ZNEPRISTUPNENI_UDAJU",
"soubor": "znepristupneni_udaju",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"znepristupneno": "hodnotaText"
}
},
{
"udaj": "OZ_VEDOUCI",
"soubor": "odstepny_zavod_vedouci",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"spravce": "hodnotaUdaje/spravce",
"text": "hodnotaUdaje/textZaOsobu/value",
"osoba_jmeno": "osoba/jmeno",
"osoba_prijmeni": "osoba/prijmeni",
"osoba_datum_narozeni": "osoba/narozDatum",
"osoba_titul_pred": "osoba/titulPred",
"osoba_titul_za": "osoba/titulZa",
"adresa_stat_nazev": "adresa/statNazev",
"adresa_ulice": "adresa/ulice",
"adresa_psc": "adresa/psc",
"adresa_obec": "adresa/obec",
"adresa_cast_obce": "adresa/castObce",
"adresa_cislo_po": "adresa/cisloPo",
"adresa_cislo_or": "adresa/cisloOr",
"adresa_okres": "adresa/okres"
}
},
{
"udaj": "NESROVNALOST",
"soubor": "nesrovnalost",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"zahajeni_rizeni": "hodnotaUdaje/zahajeniRizeni",
"ukonceni_rizeni": "hodnotaUdaje/ukonceniRizeni",
"zpusob_vyrizeni": "hodnotaUdaje/zpusobVyrizeni",
"verejna": "hodnotaUdaje/verejna",
"text_prvni_faze": "hodnotaUdaje/textPrvniFaze",
"text_druha_faze": "hodnotaUdaje/textDruhaFaze"
}
},
{
"udaj": "CLEN_SDRUZENI_OSOBA",
"soubor": "clen_sdruzeni_osoba",
"schema": {
"datum_zapis": "zapisDatum",
"datum_vymaz": "vymazDatum",
"angazma_typ": "hodnotaText",
"text_osoba": "hodnotaUdaje/textZaOsobu",
"text_zruseni": "hodnotaUdaje/textZruseni",
"osoba_nazev": "osoba/nazev",
"osoba_reg_cislo": "osoba/regCislo",
"osoba_ico": "osoba/ico",
"osoba_euid": "osoba/euid",
"osoba_jmeno": "osoba/jmeno",
"osoba_prijmeni": "osoba/prijmeni",
"osoba_datum_narozeni": "osoba/narozDatum",
"adresa_stat_nazev": "adresa/statNazev",
"adresa_obec": "adresa/obec",
"adresa_ulice": "adresa/ulice",
"adresa_psc": "adresa/psc",
"adresa_cast_obce": "adresa/castObce",
"adresa_cislo_po": "adresa/cisloPo",
"adresa_cislo_or": "adresa/cisloOr",
"adresa_okres": "adresa/okres",
"adresa_adresa_text": "adresa/adresaText"
}
}
]

0 comments on commit 3cf03b1

Please sign in to comment.