commits
tags
import sys
from playwright.sync_api import sync_playwright
from rpa import config, state
from rpa.auth import ensure_logged_in
from rpa.browser import get_page, launch_context
from rpa.notify import notify_new_items
from rpa.scraper import download_attachments, list_egenremisser
def run() -> None:
with sync_playwright() as p:
context = launch_context(p)
page = get_page(context)
ensure_logged_in(page)
items = list_egenremisser(page)
print(f"Hittade {len(items)} post(er) på sidan.")
previous = state.load_previous()
new_or_changed = state.diff_new_or_changed(previous, items)
for item in new_or_changed:
saved = download_attachments(page, item, config.DOWNLOAD_DIR)
if saved:
print(f" Nedladdat för post {item['id']}: {saved}")
state.save_current(items)
notify_new_items(new_or_changed)
context.close()
if __name__ == "__main__":
try:
run()
except TimeoutError as exc:
print(f"Fel: {exc}", file=sys.stderr)
sys.exit(1)