controller: Initial Windows app

This commit is contained in:
Jack O'Sullivan 2024-12-12 14:15:12 +00:00
parent 6de0451f33
commit 46cdc9cd43
4 changed files with 49 additions and 0 deletions

4
controller/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
__pycache__/
/build/
/dist/
Valconomy.spec

View File

@ -0,0 +1,43 @@
import logging
import os
import sys
import time
import infi.systray
import pkg_resources # needed for pyinstaller?
import valconomy
DATA_DIR = os.path.join(os.environ['LOCALAPPDATA'], 'Valconomy')
LOG_FILE = os.path.join(DATA_DIR, 'app.log')
log = logging.getLogger('valconomy')
def data_file(fname: str) -> str:
return os.path.abspath(os.path.join(os.path.dirname(__file__), fname))
running = True
def do_quit(tray: infi.systray.SysTrayIcon):
global running
log.info('Shutting down')
running = False
def do_view_logs(tray: infi.systray.SysTrayIcon):
os.startfile(DATA_DIR)
def main():
os.makedirs(DATA_DIR, exist_ok=True)
logging.basicConfig(
format='%(asctime)s %(levelname)s %(message)s', level=logging.INFO,
handlers=(
logging.StreamHandler(sys.stderr), # log to stderr as well as file
logging.FileHandler(LOG_FILE),
))
log.info('Starting up')
with infi.systray.SysTrayIcon(data_file('icon.ico'), 'Valconomy', menu_options=(('View logs', None, do_view_logs),), on_quit=do_quit) as tray:
while running:
time.sleep(0.5)
if __name__ == '__main__':
main()

1
controller/dist.bat Normal file
View File

@ -0,0 +1 @@
pyinstaller.exe -y --onedir --windowed --name Valconomy --icon icon.ico --add-data icon.ico:. app.py

View File

@ -0,0 +1 @@
import hid