Verified Commit 85912451 authored by Jakob Moser's avatar Jakob Moser
Browse files

Clean up main code

parent aeed8358
Loading
Loading
Loading
Loading
+4 −19
Original line number Diff line number Diff line
@@ -3,39 +3,24 @@ from pathlib import Path
from sqlalchemy import create_engine
from sqlalchemy.orm import Session

from poolpay import db
from poolpay import db, paths
from poolpay.card.Pirc522CardReader import Pirc522CardReader
from poolpay.director.Director import Director
from poolpay.display.PygameDisplay import PygameDisplay
from poolpay.model.Retrievable import Retrievable
from poolpay.ui.Play import Play
from poolpay.ui.pygame.scenes.Idle import Idle
from poolpay.ui.pygame.scenes.PaymentSuccess import PaymentSuccess
from poolpay.ui.pygame.play import play
from poolpay.vault.Vault import Vault

proj_dir = Path(__file__).parent.parent.resolve()
instance_dir = proj_dir / "instance"
vault_file = proj_dir / "instance.img"
db_file = instance_dir / "poolpay.db"

# TODO Show a message indicating the application is locked and a password is required?
password = "hunter2"  # TODO Prompt for this instead of hardcoding it into the file

vault = Vault(vault_file, instance_dir)
play = Play(
    Idle=Idle,
    PaymentSuccess=PaymentSuccess,
    # TODO Insert types here
    Balance=...,
    Reversal=...,
    WaitForCard=...,
)
vault = Vault(paths.vault_file, paths.instance_dir)
display = PygameDisplay(Path("/dev/fb0"), width=480, height=320)
director = Director(play, display)

with vault.open(password), Pirc522CardReader() as card_reader:
    try:
        engine = create_engine(f"sqlite:///{db_file}")
        engine = create_engine(f"sqlite:///{paths.db_file}")
        Retrievable.metadata.create_all(engine)
        db.session = Session(engine)

+0 −1
Original line number Diff line number Diff line
import time
from dataclasses import dataclass, field

from poolpay import db

poolpay/paths.py

0 → 100644
+8 −0
Original line number Diff line number Diff line
from pathlib import Path

proj_dir = Path(__file__).parent.parent.resolve()
instance_dir = proj_dir / "instance"
vault_file = proj_dir / "instance.img"
db_file = instance_dir / "poolpay.db"

__all__ = ["proj_dir", "instance_dir", "vault_file", "db_file"]
+14 −0
Original line number Diff line number Diff line
from poolpay.ui.Play import Play
from poolpay.ui.pygame.scenes.Idle import Idle
from poolpay.ui.pygame.scenes.PaymentSuccess import PaymentSuccess

play = Play(
    Idle=Idle,
    PaymentSuccess=PaymentSuccess,
    # TODO Fill with missing screens
    Balance=...,
    Reversal=...,
    WaitForCard=...,
)

__all__ = ["play"]