71 lines
1.9 KiB
Python
71 lines
1.9 KiB
Python
"""
|
|
Orchestrační skript — stáhne nové zprávy ze všech pojišťoven po sobě.
|
|
|
|
Spouští 04_prihlaseni_a_stahuj_nove.py v každém adresáři pojišťovny.
|
|
Pokud jedna pojišťovna selže, pokračuje dál na další.
|
|
|
|
POUŽITÍ:
|
|
python stahuj_vse_pojistovny.py
|
|
"""
|
|
|
|
import subprocess
|
|
import sys
|
|
import os
|
|
from datetime import datetime
|
|
|
|
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
POJISTOVNY = [
|
|
("111 VZP", "VZP"),
|
|
("205 ČPZP", "ČPZP"),
|
|
("207 OZP", "OZP"),
|
|
("209 ZPŠ", "ZPŠ"),
|
|
("211 ZPMVČR", "ZPMVČR"),
|
|
("213 RBP", "RBP"),
|
|
]
|
|
|
|
SKRIPT = "04_prihlaseni_a_stahuj_nove.py"
|
|
|
|
|
|
def main() -> None:
|
|
start = datetime.now()
|
|
print(f"=== Stahování zpráv ze všech pojišťoven ===")
|
|
print(f"Spuštěno: {start.strftime('%Y-%m-%d %H:%M:%S')}\n")
|
|
|
|
vysledky = []
|
|
|
|
for adresar, nazev in POJISTOVNY:
|
|
skript_path = os.path.join(BASE_DIR, adresar, SKRIPT)
|
|
if not os.path.exists(skript_path):
|
|
print(f"\n[{nazev}] PŘESKOČENO — skript nenalezen: {skript_path}")
|
|
vysledky.append((nazev, "přeskočeno"))
|
|
continue
|
|
|
|
print(f"\n{'='*50}")
|
|
print(f" {nazev}")
|
|
print(f"{'='*50}")
|
|
|
|
result = subprocess.run(
|
|
[sys.executable, skript_path],
|
|
cwd=os.path.join(BASE_DIR, adresar),
|
|
check=False,
|
|
)
|
|
|
|
if result.returncode == 0:
|
|
print(f"[{nazev}] OK")
|
|
vysledky.append((nazev, "OK"))
|
|
else:
|
|
print(f"[{nazev}] CHYBA (kód {result.returncode})")
|
|
vysledky.append((nazev, f"chyba (kód {result.returncode})"))
|
|
|
|
elapsed = datetime.now() - start
|
|
print(f"\n{'='*50}")
|
|
print(f"Hotovo za {int(elapsed.total_seconds())} s")
|
|
print(f"{'='*50}")
|
|
for nazev, stav in vysledky:
|
|
print(f" {nazev:<12} {stav}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|