This commit is contained in:
2025-10-18 07:41:44 +02:00
parent 52e8853639
commit 7332ee0734
2 changed files with 328 additions and 7 deletions

View File

@@ -28,14 +28,13 @@ FLAG_COLUMN = "pozchripkavytvoren" # set to 1 on success
FLAG_TS_COL = "pozchripka_vytv_at" # timestamp when created
MESSAGE_TEXT = (
"Dobrý den, vakcína proti chřipce je k dispozici. "
"Vytvořil jsem Vám požadavek, prosím otevřete si požadavek a vyberte si termín. "
"Hlavní očkování budeme dělat další 3 úterky 30.09.2025, 07.10.2025, 14.10.2025 od 13-17h. Tam je spousta termínů. "
"Prosím, udělejte si termín co nejdříve, ať můžeme na každý týden zajistit dostatek vakcíny pro všechny objednané."
"Dobrý den, vakcína proti chřipce je k dispozici, "
"dnes (úterý 23.9) budeme očkovat od 13-17 hodin, "
"prosím, otevřete si tento požadavek a vyberte si termín. Můžete si samozřejmě vybrat i kterýkoliv jiný den, ale hromadně očkujeme další 4 úterky. Další 4 úterky najdete spoustu termínů."
)
PATIENT_URL_TMPL = "https://my.medevio.cz/mudr-buzalkova/klinika/pacienti?pacient={uuid}"
BATCH_LIMIT = 10 # change if you want to limit how many to process in one run
BATCH_LIMIT = 2 # change if you want to limit how many to process in one run
PAUSE_BETWEEN = 1.0 # seconds between patients (UI courtesy)
# ===========================================
@@ -76,7 +75,7 @@ def fetch_batch(conn):
FROM patients_extracted
WHERE flu_reply = 'ano'
AND (mamedevioucet = 1 OR mamedevioucet = TRUE OR mamedevioucet = '1')
AND REPLACE(REPLACE(rc,'/',''),' ','') LIKE '3%%'
AND REPLACE(REPLACE(rc,'/',''),' ','') LIKE '7%%'
AND {FLAG_COLUMN} IS NULL
AND `{UUID_COLUMN}` IS NOT NULL
AND `{UUID_COLUMN}` <> ''
@@ -100,7 +99,7 @@ def mark_flag_success(conn, rid: str):
def create_flu_request_for_uuid(uuid: str) -> bool:
"""Automate Medevio UI for one patient: create 'Očkování - Chřipka' and send MESSAGE_TEXT."""
with sync_playwright() as p:
browser = p.chromium.launch(headless=True, slow_mo=200)
browser = p.chromium.launch(headless=False, slow_mo=200)
context = browser.new_context(storage_state=str(STATE_FILE))
ptcard = context.new_page()