This commit is contained in:
2025-09-23 11:58:09 +02:00
parent b7c9605b37
commit 3af242f6de

View File

@@ -28,13 +28,14 @@ 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, "
"zítra (ú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ů."
"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é."
)
PATIENT_URL_TMPL = "https://my.medevio.cz/mudr-buzalkova/klinika/pacienti?pacient={uuid}"
BATCH_LIMIT = 2 # change if you want to limit how many to process in one run
BATCH_LIMIT = 10 # change if you want to limit how many to process in one run
PAUSE_BETWEEN = 1.0 # seconds between patients (UI courtesy)
# ===========================================
@@ -75,7 +76,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 '0%%'
AND REPLACE(REPLACE(rc,'/',''),' ','') LIKE '3%%'
AND {FLAG_COLUMN} IS NULL
AND `{UUID_COLUMN}` IS NOT NULL
AND `{UUID_COLUMN}` <> ''
@@ -99,7 +100,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=False, slow_mo=200)
browser = p.chromium.launch(headless=True, slow_mo=200)
context = browser.new_context(storage_state=str(STATE_FILE))
ptcard = context.new_page()