59 lines
1.5 KiB
Python
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()
|