Files
kuehlschrank/main.py
T
2026-06-07 10:31:00 +02:00

59 lines
1.5 KiB
Python

import sys
from core.tracker import Tracker
from storage.data_manager import DataManager
from config import REGISTERED_USERS, MENU_ITEMS
def init_data(tracker, data_manager):
from core.user import User
from core.item import Item
if not tracker.users:
for user_id, name in REGISTERED_USERS.items():
tracker.users[user_id] = User(user_id, name)
data_manager.save_users(tracker.users)
if not tracker.items:
for item_id, item_data in MENU_ITEMS.items():
tracker.items[item_id] = Item(
item_id, item_data["name"], item_data["price"]
)
data_manager.save_items(tracker.items)
def main():
import os
if "--no-raspi" in sys.argv:
os.environ["MOCK_MOTOR"] = "1"
sys.argv.remove("--no-raspi")
if "--mock-motor" in sys.argv:
os.environ["MOCK_MOTOR"] = "1"
sys.argv.remove("--mock-motor")
dm = DataManager("data")
tracker = Tracker(dm)
init_data(tracker, dm)
if "--cli" in sys.argv:
from ui.cli import CLI
cli = CLI(tracker)
cli.run()
else:
try:
from ui.kivy import KivyUI
gui = KivyUI(tracker)
gui.run()
except Exception as e:
import traceback
traceback.print_exc()
print(f"Kivy GUI konnte nicht geladen werden ({e}). Starte CLI-Modus...")
from ui.cli import CLI
cli = CLI(tracker)
cli.run()
if __name__ == "__main__":
main()