Ukázka zpracování cenových údajů, uložení souboru sestavy

Nejprve naimportujeme knihovny a potřebné moduly. Pro účely notebooku je třeba přidat cestu k modulu pywsdp do PATH.

[1]:
import os
import sys
library_path = os.path.abspath(os.path.join("../../"))
sys.path.append(library_path)

from pywsdp.modules import GenerujCenoveUdajeDleKu

Přihlásíme se k modulu GenerujCenoveUdajeDleKu. Pro tento účel využijeme testovací přístupové údaje do DP.

[2]:
creds_test = ["WSTEST", "WSHESLO"]
cen_udaje = GenerujCenoveUdajeDleKu(creds_test, trial=True)
generujCenoveUdajeDleKu - INFO     - Logovaci zpravy ulozeny v adresari: /tmp/generujCenoveUdajeDleKu

Načteme identifikátory z JSON souboru.

[3]:
json_path_generujCen = os.path.abspath(
    os.path.join(
        library_path, "tests",
        "data",
        "input",
        "generujCenoveUdajeDleKu_template.json",
    )
)
parametry_generujCen_json = cen_udaje.nacti_identifikatory_z_json_souboru(json_path_generujCen)
print(parametry_generujCen_json)
{'katastrUzemiKod': 732630, 'rok': 2020, 'mesicOd': 9, 'mesicDo': 12, 'format': 'zip'}

Pošleme požadavek na WSDP službu generujCenoveUdajeDleKu.

[4]:
sestava = cen_udaje.posli_pozadavek(parametry_generujCen_json)
generujCenoveUdajeDleKu - INFO     -
generujCenoveUdajeDleKu - INFO     - Požadovaná akce byla úspěšně provedena.

Vypíšeme si údaje o vytvořené sestavě.

[5]:
info = cen_udaje.vypis_info_o_sestave(sestava)
print(info)
generujCenoveUdajeDleKu - INFO     -
generujCenoveUdajeDleKu - INFO     - Požadovaná akce byla úspěšně provedena.
{'id': 146225781011, 'nazev': 'Cenové údaje podle katastrálního území', 'pocetJednotek': 3, 'pocetStran': 3, 'cena': Decimal('15'), 'datumPozadavku': '2022-10-29T07:59:55', 'datumSpusteni': '2022-10-29T07:59:55', 'datumVytvoreni': '2022-10-29T07:59:55', 'idNadrizeneSestavy': None, 'idPodrizeneSestavy': [], 'stav': 'zpracován', 'format': 'zip', 'elZnacka': 'n', 'casoveRaziko': None, 'souborSestavy': None}

Zaúčtujeme sestavu. Součástí odpovědi bude zašifrovaný ZIP soubor s cenovými údaji.

[6]:
zauctovani = cen_udaje.zauctuj_sestavu(sestava)
generujCenoveUdajeDleKu - INFO     -
generujCenoveUdajeDleKu - INFO     - Požadovaná akce byla úspěšně provedena.

Dešifrujeme soubor a uložíme si ho do požadovaného adresáře. Pokud adresář neexistuje, knihovna ho sama vytvoří.

[7]:
vystupni_adresar = os.path.abspath(
    os.path.join(library_path, "tests", "data", "output")
)
cesta = cen_udaje.uloz_vystup(zauctovani, vystupni_adresar)
generujCenoveUdajeDleKu - INFO     - Vystupni soubor je k dispozici zde: /home/linduska/pywsdp/tests/data/output/cen_udaje_07_59_56_29_10_2022.zip

Smažeme sestavu - již nebude účtem přístupná.

[8]:
smazani = cen_udaje.vymaz_sestavu(sestava)
generujCenoveUdajeDleKu - INFO     -
generujCenoveUdajeDleKu - INFO     - Požadovaná akce byla úspěšně provedena.