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.