teilchensammler-cli/src/teilchensammler_cli/main.py

52 lines
1 KiB
Python
Raw Normal View History

"""
This is where the application is implemented.
"""
import logging
2025-12-04 19:25:18 +01:00
from sqlmodel import Session
from textual.app import App
from .database import create_db_and_tables, engine
from .models import Teilchen, make_teilchen_input
from .tui import AddInventoryScreen
logger = logging.getLogger(__name__)
class SammlerApp(App[None]):
2025-12-04 23:11:41 +01:00
async def on_mount(self) -> None:
create_db_and_tables()
_ = 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)
print(f"{db_teilchen=}")
app = SammlerApp()
def main() -> None:
# app = SammlerApp()
app.run()
if __name__ == "__main__":
main()