""" This is where the application is implemented. """ import logging from sqlmodel import Session from textual.app import App from textual.logging import TextualHandler from .database import create_db_and_tables, engine from .models import Teilchen, make_teilchen_input from .tui import AddInventoryScreen logging.basicConfig( level="NOTSET", handlers=[TextualHandler()], ) logger = logging.getLogger(__name__) class SammlerApp(App[None]): async def on_mount(self) -> None: create_db_and_tables() try_this() _ = self.push_screen(AddInventoryScreen()) FAKE_INPUT = """ Ein Teilchen. #Tag03 #tag12 "Dieses Teilchen ist nur zum testen" #tag1 #tag2 """.strip(" \n") def try_this(): teilchen_data = make_teilchen_input(FAKE_INPUT) if not teilchen_data: logger.error("oh no!") with Session(engine) as session: db_teilchen = Teilchen.model_validate(teilchen_data) session.add(db_teilchen) session.commit() session.refresh(db_teilchen) logger.info(f"{db_teilchen=}") app = SammlerApp() def main() -> None: app.run() if __name__ == "__main__": main()