Loading poolpay/__main__.py +4 −19 Original line number Diff line number Diff line Loading @@ -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) Loading poolpay/director/Director.py +0 −1 Original line number Diff line number Diff line import time from dataclasses import dataclass, field from poolpay import db Loading 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"] poolpay/ui/pygame/play.py 0 → 100644 +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"] Loading
poolpay/__main__.py +4 −19 Original line number Diff line number Diff line Loading @@ -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) Loading
poolpay/director/Director.py +0 −1 Original line number Diff line number Diff line import time from dataclasses import dataclass, field from poolpay import db Loading
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"]
poolpay/ui/pygame/play.py 0 → 100644 +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"]