diff --git a/scrarlsui.py b/scrarlsui.py new file mode 100644 index 0000000..c8bfbc7 --- /dev/null +++ b/scrarlsui.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +from nicegui import ui + +from sqlalchemy import desc, select, create_engine, Engine +from sqlalchemy.orm import sessionmaker + +from models import TvShowDB, LinkDB + +engine: Engine = create_engine('sqlite:///tvshows.db', echo=True) +dbsession = sessionmaker(bind=engine) + + +def scrarlsui(): + global dbsession + session = dbsession() + stmt = select(TvShowDB).order_by(desc(TvShowDB.date)).limit(10) + shows = session.scalars(stmt) + with ui.column().classes('w-full items-center gap-4'): + for show in shows: + with ui.card().tight().classes('w-full max-w-xs'): + ui.image(show.image_url) + with ui.card_section(): + ui.label(show.title) + with ui.list().props('dense separator'): + for l in show.links: + with ui.item(): + ui.link(f'🔗 {l.link}', l.link) + + +if __name__ in {"__main__", "__mp_main__"}: + ui.run(scrarlsui)