diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 2de4b9c..c56232d 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -13,7 +13,7 @@ jobs: timeout-minutes: 5 strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index e922a4f..440e66e 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ jobs: strategy: matrix: os: ['ubuntu-latest', 'windows-latest'] - python-version: ['3.9', '3.13'] + python-version: ['3.10', '3.13'] steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index 41af7a8..cf09b03 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Posledním aspektem je aktualizace dat. V tuto chvíli máme hotové jednorázov ## Lokální spuštění -Účelem projektu je, aby se dal snadno použít nejen autorem. Pro základní použití vám postačí Python (3.9+) a nic jiného. Stačí si nainstalovat pár základních závislostí a můžete data nahrát do CSV nebo i databáze - podporovaná je SQLite (vestavěná do Pythonu), DuckDB a PostgreSQL. +Účelem projektu je, aby se dal snadno použít nejen autorem. Pro základní použití vám postačí Python (3.10+) a nic jiného. Stačí si nainstalovat pár základních závislostí a můžete data nahrát do CSV nebo i databáze - podporovaná je SQLite (vestavěná do Pythonu), DuckDB a PostgreSQL. ```sh python3 -m venv .venv diff --git a/data/justice/main.py b/data/justice/main.py index dcf1869..0e6d756 100644 --- a/data/justice/main.py +++ b/data/justice/main.py @@ -210,7 +210,7 @@ def zpracuj_ds(url, schemas, outdir, partial, autogen, icos): row = extrahuj(udaj_raw, schema) row = uprav_data(row, schemasd[udaj_typ]) row = { - k: json.dumps(v) if isinstance(v, dict) else v + k: json.dumps(v, ensure_ascii=False) if isinstance(v, dict) else v for k, v in row.items() } row["ico"] = ico @@ -235,7 +235,11 @@ def zpracuj_ds(url, schemas, outdir, partial, autogen, icos): row = extrahuj(podudaj_raw, schema) row = uprav_data(row, schemasd[podudaj_typ]) row = { - k: json.dumps(v) if isinstance(v, dict) else v + k: ( + json.dumps(v, ensure_ascii=False) + if isinstance(v, dict) + else v + ) for k, v in row.items() } row["ico"] = ico diff --git a/data/justice/schema.py b/data/justice/schema.py index 7721ee1..796ad1f 100644 --- a/data/justice/schema.py +++ b/data/justice/schema.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, ForeignKey, MetaData, Table +from sqlalchemy import JSON, Column, ForeignKey, MetaData, Table from sqlalchemy.sql.sqltypes import Boolean, Date, Integer, Numeric, Text meta = MetaData() @@ -204,16 +204,7 @@ Column("datum_zapis", Date, nullable=False), Column("datum_vymaz", Date, nullable=True), Column("udaj_typ", Text, nullable=False), - Column("stat", Text, nullable=True), - Column("adresa", Text, nullable=True), - Column("obec", Text, nullable=True), - Column("cast_obce", Text, nullable=True), - Column("ulice", Text, nullable=True), - Column("cislo_po", Text, nullable=True), - Column("cislo_or", Text, nullable=True), - Column("cislo_text", Text, nullable=True), - Column("psc", Text, nullable=True), - Column("okres", Text, nullable=True), + Column("adresa", JSON, nullable=True), ), Table( "konkurs_prohlaseni", @@ -263,6 +254,7 @@ Column("datum_zapis", Date, nullable=False), Column("datum_vymaz", Date, nullable=True), Column("udaj_typ", Text, nullable=False), + Column("text_za_osobu", Text, nullable=True), Column("funkce", Text, nullable=True), Column("funkce_od", Date, nullable=True), Column("clenstvi_od", Date, nullable=True), @@ -276,29 +268,8 @@ Column("reg_cislo", Text, nullable=True), Column("ico_angos", Integer, nullable=True), Column("euid", Text, nullable=True), - Column("adresa_stat", Text, nullable=True), - Column("adresa_obec", Text, nullable=True), - Column("adresa_cast_obce", Text, nullable=True), - Column("adresa_ulice", Text, nullable=True), - Column("adresa_cislo_po", Text, nullable=True), - Column("adresa_psc", Text, nullable=True), - Column("adresa_okres", Text, nullable=True), - Column("adresa_cislo_or", Text, nullable=True), - Column("adresa_adresa_text", Text, nullable=True), - Column("adresa_cislo_ev", Text, nullable=True), - Column("adresa_doplnujici_text", Text, nullable=True), - Column("adresa_cislo_text", Text, nullable=True), - Column("bydliste_stat", Text, nullable=True), - Column("bydliste_ulice", Text, nullable=True), - Column("bydliste_obec", Text, nullable=True), - Column("bydliste_psc", Text, nullable=True), - Column("bydliste_cast_obce", Text, nullable=True), - Column("bydliste_cislo_po", Text, nullable=True), - Column("bydliste_cislo_or", Text, nullable=True), - Column("bydliste_okres", Text, nullable=True), - Column("bydliste_cislo_ev", Text, nullable=True), - Column("bydliste_cislo_text", Text, nullable=True), - Column("bydliste_doplnujici_text", Text, nullable=True), + Column("adresa", JSON, nullable=True), + Column("bydliste", JSON, nullable=True), ), Table( "zahajeni_zruseni", @@ -372,15 +343,7 @@ 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), + Column("adresa", JSON, nullable=True), ), Table( "odstepny_zavod_vedouci", @@ -395,14 +358,7 @@ Column("osoba_datum_narozeni", Date, nullable=True), Column("osoba_titul_pred", Text, nullable=True), Column("osoba_titul_za", Text, nullable=True), - Column("adresa_stat_nazev", Text, nullable=True), - 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), + Column("adresa", JSON, nullable=True), ), Table( "nesrovnalost", @@ -450,23 +406,17 @@ Column("osoba_datum_narozeni", Date, nullable=True), Column("osoba_titul_pred", Text, nullable=True), Column("osoba_titul_za", Text, nullable=True), - Column("adresa_stat_nazev", Text, nullable=True), - Column("adresa_obec", Text, nullable=True), - Column("adresa_cast_obce", Text, nullable=True), - Column("adresa_ulice", Text, nullable=True), - Column("adresa_cislo_po", Text, nullable=True), - Column("adresa_cislo_or", Text, nullable=True), - Column("adresa_psc", Text, nullable=True), - Column("adresa_okres", Text, nullable=True), - Column("adresa_cislo_ev", Text, nullable=True), - Column("adresa_text", Text, nullable=True), - Column("bydliste_stat_nazev", Text, nullable=True), - Column("bydliste_obec", Text, nullable=True), - Column("bydliste_cast_obce", Text, nullable=True), - Column("bydliste_cislo_po", Text, nullable=True), - Column("bydliste_cislo_or", Text, nullable=True), - Column("bydliste_psc", Text, nullable=True), - Column("bydliste_ulice", Text, nullable=True), + Column("adresa", JSON, nullable=True), + Column("bydliste", JSON, nullable=True), + ), + Table( + "pravo_statu", + meta, + Column("ico", Integer, nullable=False), + Column("datum_zapis", Date, nullable=False), + Column("datum_vymaz", Date, nullable=True), + Column("popis", Text, nullable=True), + Column("stat", Text, nullable=True), ), Table( "ucel_fondu", @@ -487,6 +437,39 @@ Column("datum_zverejneni", Text, nullable=False), Column("zverejneni", Text, nullable=False), ), + Table( + "sverensky_spravce", + meta, + Column("ico", Integer, nullable=False), + Column("datum_zapis", Date, nullable=False), + Column("datum_vymaz", Date, nullable=True), + Column("spravce", Boolean, nullable=True), + Column("osoba_ico", Integer, nullable=True), + Column("osoba_regcislo", Text, nullable=True), + Column("osoba_jmeno", Text, nullable=True), + Column("osoba_prijmeni", Text, nullable=True), + Column("osoba_datum_narozeni", Date, nullable=True), + Column("osoba_titul_pred", Text, nullable=True), + Column("osoba_titul_za", Text, nullable=True), + Column("adresa", JSON, nullable=True), + Column("bydliste", JSON, nullable=True), + Column("dorucovaci", JSON, nullable=True), + ), + Table( + "obmysleny", + meta, + Column("ico", Integer, nullable=False), + Column("datum_zapis", Date, nullable=False), + Column("datum_vymaz", Date, nullable=True), + Column("udelen_souhlas", Boolean, nullable=False), + Column("osoba_ico", Integer, nullable=True), + Column("osoba_jmeno", Text, nullable=True), + Column("osoba_prijmeni", Text, nullable=True), + Column("osoba_datum_narozeni", Date, nullable=True), + Column("osoba_titul_pred", Text, nullable=True), + Column("osoba_titul_za", Text, nullable=True), + Column("adresa", JSON, nullable=True), + ), Table( "obmysleny_zpusob", meta, @@ -508,16 +491,7 @@ Column("osoba_datum_narozeni", Date, nullable=True), Column("osoba_titul_pred", Text, nullable=True), Column("osoba_titul_za", Text, nullable=True), - Column("adresa_stat_nazev", Text, nullable=True), - Column("adresa_obec", Text, nullable=True), - Column("adresa_cast_obce", Text, nullable=True), - Column("adresa_ulice", Text, nullable=True), - Column("adresa_cislo_po", Text, nullable=True), - Column("adresa_cislo_or", Text, nullable=True), - Column("adresa_psc", Text, nullable=True), - Column("adresa_okres", Text, nullable=True), - Column("adresa_cislo_ev", Text, nullable=True), - Column("adresa_text", Text, nullable=True), + Column("adresa", JSON, nullable=True), ), ] diff --git a/data/justice/xml_schema.json b/data/justice/xml_schema.json index 39ace07..ebe7ade 100644 --- a/data/justice/xml_schema.json +++ b/data/justice/xml_schema.json @@ -8,12 +8,15 @@ "znacka": "hodnotaText", "soud_kod": "spisZn/soud/kod", "soud_nazev": "spisZn/soud/nazev", - "oddil": "spisZn/oddil", + "oddil": "spisZn/oddil", "vlozka": "spisZn/vlozka" } }, { - "udaj": ["NAZEV", "CIZI_NAZEV"], + "udaj": [ + "NAZEV", + "CIZI_NAZEV" + ], "soubor": "nazev", "schema": { "datum_zapis": "zapisDatum", @@ -33,7 +36,12 @@ } }, { - "udaj": ["PREDMET_PODNIKANI", "PREDMET_CINNOSTI", "UCEL_SUBJEKTU", "DOPLNKOVA_CINNOST"], + "udaj": [ + "PREDMET_PODNIKANI", + "PREDMET_CINNOSTI", + "UCEL_SUBJEKTU", + "DOPLNKOVA_CINNOST" + ], "soubor": "predmet_podnikani", "schema": { "datum_zapis": "zapisDatum", @@ -173,7 +181,10 @@ } }, { - "udaj": ["ZAKLADNI_KAPITAL", "CLENSKY_VKLAD"], + "udaj": [ + "ZAKLADNI_KAPITAL", + "CLENSKY_VKLAD" + ], "TODO": "nektery vklady jsou v angazovanych osobach, je to cajk? tam je i osobni info", "soubor": "vklady", "schema": { @@ -281,7 +292,9 @@ { "udaj": "VZNIK", "soubor": "vznik", - "non_iso_datum": ["datum_vznik"], + "non_iso_datum": [ + "datum_vznik" + ], "schema": { "datum_zapis": "zapisDatum", "datum_vymaz": "vymazDatum", @@ -333,28 +346,38 @@ } }, { - "udaj": ["SIDLO", "SIDLO_ZAKLADATELE", "PODNIKATEL_BYDLISTE", "PODNIKATEL_POBYT_CR"], + "udaj": [ + "SIDLO", + "SIDLO_ZAKLADATELE", + "PODNIKATEL_BYDLISTE", + "PODNIKATEL_POBYT_CR" + ], "soubor": "sidlo", "schema": { "datum_zapis": "zapisDatum", "datum_vymaz": "vymazDatum", "udaj_typ": "udajTyp/nazev", - "stat": "adresa/statNazev", - "adresa": "adresa/adresaText", - "obec": "adresa/obec", - "cast_obce": "adresa/castObce", - "ulice": "adresa/ulice", - "cislo_po": "adresa/cisloPo", - "cislo_or": "adresa/cisloOr", - "cislo_text": "adresa/cisloText", - "psc": "adresa/psc", - "okres": "adresa/okres" + "adresa": { + "stat": "adresa/statNazev", + "adresa": "adresa/adresaText", + "obec": "adresa/obec", + "cast_obce": "adresa/castObce", + "ulice": "adresa/ulice", + "cislo_po": "adresa/cisloPo", + "cislo_or": "adresa/cisloOr", + "cislo_text": "adresa/cisloText", + "psc": "adresa/psc", + "okres": "adresa/okres" + } } }, { "udaj": "KONKURS_PROHLASENI", "soubor": "konkurs_prohlaseni", - "non_iso_datum": ["datum_rozhodnuti", "datum_vyveseni"], + "non_iso_datum": [ + "datum_rozhodnuti", + "datum_vyveseni" + ], "schema": { "datum_zapis": "zapisDatum", "datum_vymaz": "vymazDatum", @@ -388,7 +411,11 @@ } }, { - "udaj": ["VYROVNANI", "VYROVNANI_POVOLENI", "VYROVNANI_ZAMITNUTI"], + "udaj": [ + "VYROVNANI", + "VYROVNANI_POVOLENI", + "VYROVNANI_ZAMITNUTI" + ], "soubor": "vyrovnani", "schema": { "datum_zapis": "zapisDatum", @@ -422,26 +449,30 @@ "KONKURSNI_SPRAVCE", "PREDBEZNY_INSOLVENCNI_SPRAVCE", "DOZORCI_RADA_ZASTOUPENI", - "INSOLVENCNI_SPRAVCE", - "VYROVNACI_INSOLVENCNI_SPRAVCE", - "KONTROLNI_KOMISE_ZASTOUPENI", - "LIKVIDATOR_ZASTOUPENI", - "ODDELENY_INSOLVENCNI_SPRAVCE", - "PREDBEZNY_SPRAVCE", - "REVIZOR_ZASTUP", - "SPOLECNIK_PODILNIK", - "SPRAVNI_RADA_ZASTOUPENI", - "ZASTUPCE_INSOLVENCNIHO_SPRAVCE", - "ZVLASTNI_INSOLVENCNI_SPRAVCE", - "ZVLASTNI_SPRAVCE", - "STATUTAR_ZRIZOVATELE_ZASTOUPENI", - "ZASTUPCE_SPRAVCE" + "INSOLVENCNI_SPRAVCE", + "VYROVNACI_INSOLVENCNI_SPRAVCE", + "KONTROLNI_KOMISE_ZASTOUPENI", + "LIKVIDATOR_ZASTOUPENI", + "ODDELENY_INSOLVENCNI_SPRAVCE", + "PREDBEZNY_SPRAVCE", + "REVIZOR_ZASTUP", + "SPOLECNIK_PODILNIK", + "SPRAVNI_RADA_ZASTOUPENI", + "ZASTUPCE_INSOLVENCNIHO_SPRAVCE", + "ZVLASTNI_INSOLVENCNI_SPRAVCE", + "ZVLASTNI_SPRAVCE", + "STATUTAR_ZRIZOVATELE_ZASTOUPENI", + "ZASTUPCE_SPRAVCE", + "OBHOSPODAROVATEL_ANGAZMA", + "OBHOSPODAROVATEL_SPOLECNIK", + "SPOLUVLASTNIK_AKCIE" ], "soubor": "angazovane_osoby", "schema": { "datum_zapis": "zapisDatum", "datum_vymaz": "vymazDatum", "udaj_typ": "udajTyp/nazev", + "text_za_osobu": "hodnotaUdaje/textZaOsobu/value", "funkce": "funkce", "funkce_od": "funkceOd", "clenstvi_od": "clenstviOd", @@ -456,29 +487,34 @@ "reg_cislo": "osoba/regCislo", "ico_angos": "osoba/ico", "euid": "osoba/euid", - "adresa_stat": "adresa/statNazev", - "adresa_obec": "adresa/obec", - "adresa_cast_obce": "adresa/castObce", - "adresa_ulice": "adresa/ulice", - "adresa_cislo_po": "adresa/cisloPo", - "adresa_psc": "adresa/psc", - "adresa_okres": "adresa/okres", - "adresa_cislo_or": "adresa/cisloOr", - "adresa_adresa_text": "adresa/adresaText", - "adresa_cislo_ev": "adresa/cisloEv", - "adresa_doplnujici_text": "adresa/doplnujiciText", - "adresa_cislo_text": "adresa/cisloText", - "bydliste_stat": "bydliste/statNazev", - "bydliste_ulice": "bydliste/ulice", - "bydliste_obec": "bydliste/obec", - "bydliste_psc": "bydliste/psc", - "bydliste_cast_obce": "bydliste/castObce", - "bydliste_cislo_po": "bydliste/cisloPo", - "bydliste_cislo_or": "bydliste/cisloOr", - "bydliste_okres": "bydliste/okres", - "bydliste_cislo_ev": "bydliste/cisloEv", - "bydliste_cislo_text": "bydliste/cisloText", - "bydliste_doplnujici_text": "bydliste/doplnujiciText" + "adresa": { + "stat": "adresa/statNazev", + "obec": "adresa/obec", + "cast_obce": "adresa/castObce", + "ulice": "adresa/ulice", + "cislo_po": "adresa/cisloPo", + "psc": "adresa/psc", + "okres": "adresa/okres", + "cislo_or": "adresa/cisloOr", + "adresa_text": "adresa/adresaText", + "cislo_ev": "adresa/cisloEv", + "doplnujici_text": "adresa/doplnujiciText", + "cislo_text": "adresa/cisloText" + }, + "bydliste": { + "stat": "bydliste/statNazev", + "obec": "bydliste/obec", + "cast_obce": "bydliste/castObce", + "ulice": "bydliste/ulice", + "cislo_po": "bydliste/cisloPo", + "psc": "bydliste/psc", + "okres": "bydliste/okres", + "cislo_or": "bydliste/cisloOr", + "adresa_text": "bydliste/adresaText", + "cislo_ev": "bydliste/cisloEv", + "doplnujici_text": "bydliste/doplnujiciText", + "cislo_text": "bydliste/cisloText" + } } }, { @@ -557,14 +593,16 @@ "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" + "adresa": { + "stat_nazev": "adresa/statNazev", + "ulice": "adresa/ulice", + "psc": "adresa/psc", + "obec": "adresa/obec", + "cast_obce": "adresa/castObce", + "cislo_po": "adresa/cisloPo", + "cislo_or": "adresa/cisloOr", + "okres": "adresa/okres" + } } }, { @@ -600,15 +638,17 @@ "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" + "adresa": { + "stat_nazev": "adresa/statNazev", + "obec": "adresa/obec", + "ulice": "adresa/ulice", + "psc": "adresa/psc", + "cast_obce": "adresa/castObce", + "cislo_po": "adresa/cisloPo", + "cislo_or": "adresa/cisloOr", + "okres": "adresa/okres", + "adresa_text": "adresa/adresaText" + } } }, { @@ -643,23 +683,27 @@ "osoba_datum_narozeni": "osoba/narozDatum", "osoba_titul_pred": "osoba/titulPred", "osoba_titul_za": "osoba/titulZa", - "adresa_stat_nazev": "adresa/statNazev", - "adresa_obec": "adresa/obec", - "adresa_cast_obce": "adresa/castObce", - "adresa_ulice": "adresa/ulice", - "adresa_cislo_po": "adresa/cisloPo", - "adresa_cislo_or": "adresa/cisloOr", - "adresa_psc": "adresa/psc", - "adresa_okres": "adresa/okres", - "adresa_cislo_ev": "adresa/cisloEv", - "adresa_text": "adresa/adresaText", - "bydliste_stat_nazev": "bydliste/statNazev", - "bydliste_obec": "bydliste/obec", - "bydliste_cast_obce": "bydliste/castObce", - "bydliste_cislo_po": "bydliste/cisloPo", - "bydliste_cislo_or": "bydliste/cisloOr", - "bydliste_psc": "bydliste/psc", - "bydliste_ulice": "bydliste/ulice" + "adresa": { + "stat_nazev": "adresa/statNazev", + "obec": "adresa/obec", + "cast_obce": "adresa/castObce", + "ulice": "adresa/ulice", + "cislo_po": "adresa/cisloPo", + "cislo_or": "adresa/cisloOr", + "psc": "adresa/psc", + "okres": "adresa/okres", + "cislo_ev": "adresa/cisloEv", + "adresa_text": "adresa/adresaText" + }, + "bydliste": { + "stat_nazev": "bydliste/statNazev", + "obec": "bydliste/obec", + "cast_obce": "bydliste/castObce", + "cislo_po": "bydliste/cisloPo", + "cislo_or": "bydliste/cisloOr", + "psc": "bydliste/psc", + "ulice": "bydliste/ulice" + } } }, { @@ -706,32 +750,38 @@ "osoba_datum_narozeni": "osoba/narozDatum", "osoba_titul_pred": "osoba/titulPred", "osoba_titul_za": "osoba/titulZa", - "adresa_stat_nazev": "adresa/statNazev", - "adresa_obec": "adresa/obec", - "adresa_cast_obce": "adresa/castObce", - "adresa_ulice": "adresa/ulice", - "adresa_cislo_po": "adresa/cisloPo", - "adresa_cislo_or": "adresa/cisloOr", - "adresa_psc": "adresa/psc", - "adresa_okres": "adresa/okres", - "adresa_cislo_ev": "adresa/cisloEv", - "adresa_text": "adresa/adresaText", - "bydliste_stat_nazev": "bydliste/statNazev", - "bydliste_obec": "bydliste/obec", - "bydliste_cast_obce": "bydliste/castObce", - "bydliste_cislo_po": "bydliste/cisloPo", - "bydliste_cislo_or": "bydliste/cisloOr", - "bydliste_psc": "bydliste/psc", - "bydliste_ulice": "bydliste/ulice", - "dorucovaci_stat_nazev": "dorucovaci/statNazev", - "dorucovaci_obec": "dorucovaci/obec", - "dorucovaci_cast_obce": "dorucovaci/castObce", - "dorucovaci_ulice": "dorucovaci/ulice", - "dorucovaci_cislo_po": "dorucovaci/cisloPo", - "dorucovaci_cislo_or": "dorucovaci/cisloOr", - "dorucovaci_psc": "dorucovaci/psc", - "dorucovaci_okres": "dorucovaci/okres", - "dorucovaci_cisloText": "dorucovaci/cisloText" + "adresa": { + "stat_nazev": "adresa/statNazev", + "obec": "adresa/obec", + "cast_obce": "adresa/castObce", + "ulice": "adresa/ulice", + "cislo_po": "adresa/cisloPo", + "cislo_or": "adresa/cisloOr", + "psc": "adresa/psc", + "okres": "adresa/okres", + "cislo_ev": "adresa/cisloEv", + "text": "adresa/adresaText" + }, + "bydliste": { + "stat_nazev": "bydliste/statNazev", + "obec": "bydliste/obec", + "cast_obce": "bydliste/castObce", + "cislo_po": "bydliste/cisloPo", + "cislo_or": "bydliste/cisloOr", + "psc": "bydliste/psc", + "ulice": "bydliste/ulice" + }, + "dorucovaci": { + "stat_nazev": "dorucovaci/statNazev", + "obec": "dorucovaci/obec", + "cast_obce": "dorucovaci/castObce", + "ulice": "dorucovaci/ulice", + "cislo_po": "dorucovaci/cisloPo", + "cislo_or": "dorucovaci/cisloOr", + "psc": "dorucovaci/psc", + "okres": "dorucovaci/okres", + "cisloText": "dorucovaci/cisloText" + } } }, { @@ -747,16 +797,18 @@ "osoba_datum_narozeni": "osoba/narozDatum", "osoba_titul_pred": "osoba/titulPred", "osoba_titul_za": "osoba/titulZa", - "adresa_stat_nazev": "adresa/statNazev", - "adresa_obec": "adresa/obec", - "adresa_cast_obce": "adresa/castObce", - "adresa_ulice": "adresa/ulice", - "adresa_cislo_po": "adresa/cisloPo", - "adresa_cislo_or": "adresa/cisloOr", - "adresa_psc": "adresa/psc", - "adresa_okres": "adresa/okres", - "adresa_cislo_ev": "adresa/cisloEv", - "adresa_text": "adresa/adresaText" + "adresa": { + "stat_nazev": "adresa/statNazev", + "obec": "adresa/obec", + "cast_obce": "adresa/castObce", + "ulice": "adresa/ulice", + "cislo_po": "adresa/cisloPo", + "cislo_or": "adresa/cisloOr", + "psc": "adresa/psc", + "okres": "adresa/okres", + "cislo_ev": "adresa/cisloEv", + "text": "adresa/adresaText" + } } }, { @@ -781,16 +833,18 @@ "osoba_datum_narozeni": "osoba/narozDatum", "osoba_titul_pred": "osoba/titulPred", "osoba_titul_za": "osoba/titulZa", - "adresa_stat_nazev": "adresa/statNazev", - "adresa_obec": "adresa/obec", - "adresa_cast_obce": "adresa/castObce", - "adresa_ulice": "adresa/ulice", - "adresa_cislo_po": "adresa/cisloPo", - "adresa_cislo_or": "adresa/cisloOr", - "adresa_psc": "adresa/psc", - "adresa_okres": "adresa/okres", - "adresa_cislo_ev": "adresa/cisloEv", - "adresa_text": "adresa/adresaText" + "adresa": { + "stat_nazev": "adresa/statNazev", + "obec": "adresa/obec", + "cast_obce": "adresa/castObce", + "ulice": "adresa/ulice", + "cislo_po": "adresa/cisloPo", + "cislo_or": "adresa/cisloOr", + "psc": "adresa/psc", + "okres": "adresa/okres", + "cislo_ev": "adresa/cisloEv", + "text": "adresa/adresaText" + } } } ] diff --git a/data/red/main.py b/data/red/main.py index 0b8ab59..a31cf78 100755 --- a/data/red/main.py +++ b/data/red/main.py @@ -15,8 +15,7 @@ HTTP_TIMEOUT = 60 # TODO: mozna nebude treba, mozna budou URL nemenne -DATASETS_GRAPHQL_QUERY = ( - """ +DATASETS_GRAPHQL_QUERY = """ { datasets(limit: 100, filters: {isPartOf: "%s"}) { data { @@ -29,9 +28,7 @@ } } } -""" - % "https://data.gov.cz/zdroj/datové-sady/00006947/eff92c79870f2dba48ac52c3f01635c0" -) +""" % "https://data.gov.cz/zdroj/datové-sady/00006947/eff92c79870f2dba48ac52c3f01635c0" DATASETS = ["prijemce", "dotace", "rozhodnuti", "rozpoctoveobdobi"]