Ukázka práce s dalšími typy formátů¶
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 CtiOS
from pywsdp.modules.CtiOS import OutputFormat
Příhlásíme se k modulu CtiOS. Pro tento účel využijeme testovací přístupové údaje do DP.
[2]:
creds_test = ["WSTEST", "WSHESLO"]
ctios = CtiOS(creds_test, trial=True)
ctiOS - INFO - Logovaci zpravy ulozeny v adresari: /tmp/ctiOS
Načteme identifikátory z JSON souboru.
[3]:
json_path_ctios = os.path.abspath(
os.path.join(library_path, "tests", "data", "input", "ctios_template.json")
)
parametry_ctiOS_json = ctios.nacti_identifikatory_z_json_souboru(json_path_ctios)
Pošleme požadavek na službu ctiOS.
[5]:
slovnik, slovnik_chybnych = ctios.posli_pozadavek(parametry_ctiOS_json)
ctiOS - INFO -
ctiOS - INFO - Požadovaná akce byla úspěšně provedena.
ctiOS - INFO - POSIDENT m+o3Qoxrit4ZwyJIPjx3X788EOgtJieiZYw/eqwxTPERjsqLramxBhGoAaAnooYAliQoVBYy7Q7fN2cVAxsAoUoPFaReqsfYWOZJjMBj/6 NEPLATNY IDENTIFIKATOR
ctiOS - INFO - POSIDENT mSH6sS5yv6vA2jEOtyHeXaXIJpC2m0Ai56aKzsVmEphUNyjFQYgC8MOLnu3+3Zugm8JQW2AJqEJYcSiqXdPbnb/03PKgyNkYWaS876wv0t NEPLATNY IDENTIFIKATOR
ctiOS - INFO - POSIDENT xairWnG248pu7itR19AIT87mDFI8yY0K0ms7v/iDY679wQ4EN5bMhMPSTXxgWDxMWZ0IoV/ihjGkNMXeqXHrMZsEbHBTzD9RUIOXw5M1hmE= USPESNE STAZEN
ctiOS - INFO - POSIDENT 4m3Yuf1esDMzbgNGYW7kvzjlaZALZ3v3D7cXmxgCcFp0RerVtxqo8yb87oI0FBCtp49AycQ5NNI3vl+b+SEa+8SfmGU4sqBPH2pX/76wyBI= USPESNE STAZEN
ctiOS - INFO - POSIDENT BBgBQ2wok0L43hEZUEeieq8FrrQsT1SHIrpQBRwgLw2uTvTsXvGloIYnr+7J2z6t/hadCsyhcbxgrf47ByzpbY5TjyiUPxyXhlS73MKArjs= USPESNE STAZEN
ctiOS - INFO - POSIDENT ltTJU+/1imoqO4saz1ta1r88QGUxEkjRTfHUiC9Y9yfDKSM4c8soK/vz7bGd1JNwQPUiFayJQdLN0gPkusnnoNLo47RqbEoQxfg+eEuvTaQ= USPESNE STAZEN
ctiOS - INFO - POSIDENT OlVCtLEjQ+aNPyQNdT0JZOkkxvwl8t9DllRl/HiNx7G3QFyZnvKA4e2LBTSX+YuK41/rSMvAnm63ZeWPyZQCX77GuP1GZwwf2hVkKzVY/94= USPESNE STAZEN
ctiOS - INFO - POSIDENT KdSYyo8J1zUPVqxHUtY+tYA2w7krH9U+59hCYU8TXGZ06e74GGekPinyLtiSz+gO7ZmpWetCSaxvu1nXa6+t7w92wpqfa5jPpkfv5HF9MMA= USPESNE STAZEN
ctiOS - INFO - POSIDENT 5wQRil9Nd5KIrn5KWTf8+sksZslnMqy2tveDvYPIsd1cd9qHYs1V9d9uZVwBEVe5Sknvonhh+FDiaYEJa+RdHM3VtvGsIqsc2Hm3mX0xYfs= USPESNE STAZEN
ctiOS - INFO - POSIDENT UKcYWvUUTpNi8flxUzlm+Ss5iq0JV3CiStJSAMOk6xHFQncZraFeO9yj8OGraKiDJ8eLB0FegdXYuyYWsEXiv2H9ws95ezlKNTqR6ze7aOnR3a7NWzWJfe+R5VHfU13+ USPESNE STAZEN
ctiOS - INFO - Celkovy pocet dotazovanych identifikatoru na vstupu: 10
ctiOS - INFO - Pocet odstranenych duplicitnich identifikatoru: 0
ctiOS - INFO - Pocet pozadavku, do kterych byl dotaz rozdelen (pocet dotazu na server): 1
ctiOS - INFO - Realny uspesne zpracovanych identifikatoru: 8
ctiOS - INFO - Pocet neplatnych identifikatoru: 2
ctiOS - INFO - Pocet expirovanych identifikatoru: 0
ctiOS - INFO - Pocet identifikatoru k neexistujicim OS: 0
Z logu zjistíme, že 2 identifikátory nebyly kvůli chybě NEPLATNY IDENTIFIKATOR zpracovány.
Určíme si výstupní adresář. Pokud neexistuje, knihovna si ho sama při zápisu vytvoří.
[6]:
vystupni_adresar = os.path.abspath(
os.path.join(library_path, "tests", "data", "output")
)
Úspěšně zpracované identifikátory vypíšeme do souboru Csv. Pokud některé identifikátory byly označeny jako chybné, výstup bude doplněn o JSON soubor se seznamem těchto identifikátorů a chyb, ke kterým došlo.
[7]:
vystup = ctios.uloz_vystup(
slovnik, vystupni_adresar, OutputFormat.Csv
)
ctiOS - INFO - Vystup byl ulozen zde: /home/linduska/pywsdp/tests/data/output/ctios_21_12_56_10_01_2023.csv
Modul dále umožňuje uložení úspešně zpracovaných identifikátorů do JSON souboru.
[9]:
vystup = ctios.uloz_vystup(
slovnik, vystupni_adresar, OutputFormat.Json
)
ctiOS - INFO - Vystup byl ulozen zde: /home/linduska/pywsdp/tests/data/output/ctios_21_16_05_10_01_2023.json
Pokud chceme vypsat, které identifikátory nebyly kvůli chybě zpracovány a k jaké chybě došlo, můžeme si uložit výstup neúspěšně zpracovaných identifikátorů do json souboru.
[10]:
vystup_chybnych = ctios.uloz_vystup_chybnych(
slovnik_chybnych, vystupni_adresar
)
ctiOS - INFO - Zaznam o nezpracovanych identifikatorech byl ulozen zde: /home/linduska/pywsdp/tests/data/output/ctios_errors_21_16_08_10_01_2023.json
[ ]: