This commit is contained in:
2026-04-16 14:20:38 +02:00
parent e23735d07e
commit ef7c5d77dc
441 changed files with 1913 additions and 14 deletions
+19 -3
View File
@@ -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__":