z230
This commit is contained in:
@@ -228,12 +228,19 @@ def najdi_nejnovejsi_xml(datum_filtr=None):
|
||||
return nejnovejsi
|
||||
|
||||
|
||||
def nacti_zpracovane(conn):
|
||||
"""Vrátí dict {id_dokladu: xml_soubor} pro všechny již zpracované záznamy."""
|
||||
with conn.cursor() as cur:
|
||||
cur.execute("SELECT id_dokladu, xml_soubor FROM recept_doklad WHERE xml_soubor IS NOT NULL")
|
||||
return {row["id_dokladu"]: row["xml_soubor"] for row in cur.fetchall()}
|
||||
|
||||
|
||||
def main():
|
||||
datum_filtr = DATUM_FILTR
|
||||
|
||||
xml_mapa = najdi_nejnovejsi_xml(datum_filtr)
|
||||
celkem = len(xml_mapa)
|
||||
print(f"Nalezeno {celkem} XML souborů ke zpracování\n")
|
||||
print(f"Nalezeno {celkem} XML souborů v archivu\n")
|
||||
|
||||
if not celkem:
|
||||
print("Žádné soubory.")
|
||||
@@ -255,9 +262,18 @@ def main():
|
||||
pass # FK už byl zrušen dříve
|
||||
conn.commit()
|
||||
|
||||
ok = chyb = 0
|
||||
# Načti již zpracované soubory — přeskočíme ty, jejichž cesta se nezměnila
|
||||
zpracovane = nacti_zpracovane(conn)
|
||||
|
||||
ok = chyb = preskoceno = 0
|
||||
|
||||
for i, (erp_kod, xml_file) in enumerate(xml_mapa.items(), 1):
|
||||
rel_path = str(xml_file.relative_to(XML_DIR))
|
||||
|
||||
if zpracovane.get(erp_kod) == rel_path:
|
||||
preskoceno += 1
|
||||
continue
|
||||
|
||||
print(f"[{i:4d}/{celkem}] {erp_kod} ", end="", flush=True)
|
||||
|
||||
xml_text = xml_file.read_text(encoding="utf-8")
|
||||
@@ -279,7 +295,7 @@ def main():
|
||||
chyb += 1
|
||||
|
||||
conn.close()
|
||||
print(f"\nHotovo: {ok} OK, {chyb} chyb")
|
||||
print(f"\nHotovo: {ok} zpracováno, {preskoceno} přeskočeno (beze změny), {chyb} chyb")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user