controller: Initial Windows app
This commit is contained in:
		
							
								
								
									
										4
									
								
								controller/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								controller/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					__pycache__/
 | 
				
			||||||
 | 
					/build/
 | 
				
			||||||
 | 
					/dist/
 | 
				
			||||||
 | 
					Valconomy.spec
 | 
				
			||||||
@@ -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
									
								
							
							
						
						
									
										1
									
								
								controller/dist.bat
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					pyinstaller.exe -y --onedir --windowed --name Valconomy --icon icon.ico --add-data icon.ico:. app.py
 | 
				
			||||||
@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					import hid
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user