Ukázka použití samostatných modulů na spravování sestav

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
from pywsdp.modules.SpravujSestavy import SeznamSestav, VratSestavu, SmazSestavu

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

Pošleme požadavek na vytvoření sestavy s cenovými údaji.

[3]:
parametry = {
    "katastrUzemiKod": 732630,
    "rok": 2020,
    "mesicOd": 9,
    "mesicDo": 12,
    "format": "zip",
}
sestava = cen_udaje.posli_pozadavek(parametry)
generujCenoveUdajeDleKu - INFO     -
generujCenoveUdajeDleKu - INFO     - Požadovaná akce byla úspěšně provedena.

Vypíšeme si info o sestavě pomocí modulu SeznamSestav.

[4]:
seznam = SeznamSestav(creds_test, trial=True)
info = seznam.posli_pozadavek(sestava["id"])
assert info["nazev"] == "Cenové údaje podle katastrálního území"
seznamSestav - INFO     -
seznamSestav - INFO     - Požadovaná akce byla úspěšně provedena.

Pomocí modulu VratSestavu zaúčtujeme sestavu. Vrátí se nám zašifrovaný ZIP soubor obsahující XML soubory s cenovými údaji.

[5]:
vrat = VratSestavu(creds_test, trial=True)
zauctovani = vrat.posli_pozadavek(sestava["id"])
assert zauctovani["nazev"] == "Cenové údaje podle katastrálního území"
vratSestavu  - INFO     -
vratSestavu  - INFO     - Požadovaná akce byla úspěšně provedena.

Pokud budeme chtít sestavu smazat, můžeme využít modul SmazSestavu.

[6]:
smaz = SmazSestavu(creds_test, trial=True)
smazani = smaz.posli_pozadavek(sestava["id"])
assert smazani == {"zprava": "Požadovaná akce byla úspěšně provedena."}
smazSestavu  - INFO     -
smazSestavu  - INFO     - Požadovaná akce byla úspěšně provedena.