notebookvb

This commit is contained in:
Vladimir Buzalka
2026-04-26 08:32:14 +02:00
parent 0bfa9c48e4
commit 78ed84209c
2 changed files with 43 additions and 4 deletions
@@ -84,7 +84,8 @@ class Souhrn:
datum: str = ""
stazeni: list[StazeniRadek] = field(default_factory=list)
parse: list[ParseRadek] = field(default_factory=list)
kriticka_chyba: str = ""
parse_preskoceno: int = 0
kriticka_chyba: str = ""
# ─────────────────────────────────────────────────────────────────────────────
@@ -375,6 +376,7 @@ def faze_parsovani(dnes_str, out_dir, souhrn: Souhrn):
if zpracovane.get(erp_kod) == rel_path:
print("přeskočeno (beze změny)")
souhrn.parse_preskoceno += 1
continue
xml_text = xml_file.read_text(encoding="utf-8")
@@ -419,7 +421,7 @@ def sestav_email(souhrn: Souhrn) -> tuple[str, str]:
parse_chyby = [r for r in souhrn.parse if r.stav == "CHYBA"]
ma_chybu = bool(souhrn.kriticka_chyba or stazeno_chyby or parse_chyby)
predmet = f"eRecept {souhrn.datum}{'⚠ CHYBA' if ma_chybu else 'OK'} ({len(stazeno_ok)} staženo, {len(parse_ok)} zpracováno)"
predmet = f"eRecept {souhrn.datum}{'⚠ CHYBA' if ma_chybu else 'OK'} ({len(stazeno_ok)} staženo, {len(parse_ok)} zpracováno, {souhrn.parse_preskoceno} přeskočeno)"
css = "font-family:Arial,sans-serif;font-size:14px;color:#222"
h2 = "margin:20px 0 4px;font-size:15px;border-bottom:1px solid #ddd;padding-bottom:3px"
@@ -473,7 +475,7 @@ def sestav_email(souhrn: Souhrn) -> tuple[str, str]:
f"<h1 style='font-size:18px;margin-bottom:6px'>eRecept — denní souhrn {souhrn.datum}</h1>"
f"{krit}"
f"<p><strong>Stažení:</strong> {len(stazeno_ok)} OK &nbsp;|&nbsp; {len(stazeno_chyby)} chyb</p>"
f"<p><strong>Parsování:</strong> {len(parse_ok)} zpracováno &nbsp;|&nbsp; {len(parse_chyby)} chyb</p>"
f"<p><strong>Parsování:</strong> {len(parse_ok)} zpracováno &nbsp;|&nbsp; {souhrn.parse_preskoceno} přeskočeno (beze změny) &nbsp;|&nbsp; {len(parse_chyby)} chyb</p>"
+ tabulka_stazeni(stazeno_ok, "Stažené recepty")
+ tabulka_stazeni(stazeno_chyby, "Chyby při stahování")
+ tabulka_parse(parse_ok, "Zpracované recepty")
@@ -524,7 +526,7 @@ def main():
print(f"\n{'='*60}")
print(f" SOUHRN {dnes}")
print(f" Stažení: {stazeno_ok} OK, {stazeno_chyby} chyb")
print(f" Parsování: {parse_ok} zpracováno, {parse_chyby} chyb")
print(f" Parsování: {parse_ok} zpracováno, {souhrn.parse_preskoceno} přeskočeno, {parse_chyby} chyb")
if souhrn.kriticka_chyba:
print(" !! Kritická chyba — viz email")
print(f"{'='*60}\n")