-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvysledky_zverejneny.py
More file actions
51 lines (45 loc) · 1.64 KB
/
vysledky_zverejneny.py
File metadata and controls
51 lines (45 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from main import odeslat
from playwright.sync_api import sync_playwright, TimeoutError
from data import URL, EMAIL_U, LOGIN
import time
from email.message import EmailMessage
import sys
from check_version import zkontroluj_a_aktualizuj
if __name__ == "__main__":
global_env = (len(sys.argv) == 2 and sys.argv[1] == "global")
zkontroluj_a_aktualizuj(global_env)
SELECTOR_VYSLEDKY_NADPIS = r"#anresults"
INTERVAL = 10
def run():
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto(URL)
print(f"Kontrola zveřejněných výsledků závodu {URL}:\n")
while True:
if page.locator(SELECTOR_VYSLEDKY_NADPIS).count() > 0:
informuj_o_vysledcich()
break
else:
print(f"Výsledky nebyly zveřejněny. Další kontrola za {INTERVAL} sekund.\n")
time.sleep(INTERVAL)
page.goto(URL)
def informuj_o_vysledcich() -> None:
"""Informuje závodníka o výsledcích"""
msg = EmailMessage()
msg['Subject'] = '🔫 Výsledky zveřejněny'
msg['From'] = EMAIL_U
msg['To'] = LOGIN
msg.set_content(
f"""Výslkedky závodu {URL} byly zveřejněny.\n\n\n(Automaticky generovaný email)""")
# Odeslání e-mailu
if odeslat(msg):
print(
"✅ Odeslal jsem notifikační email o tom, že byly zveřejněny výsledky.")
if __name__ == "__main__":
try:
run()
except KeyboardInterrupt:
print("\nProgram ukončen uživatelem.")
except Exception as e:
print(f"Neočekávaná chyba: {e}")