Skip to content

Commit

Permalink
Exposed application settings to command line arguments
Browse files Browse the repository at this point in the history
  • Loading branch information
RealDanTheMan committed Jun 7, 2024
1 parent 55e8678 commit 3071d4e
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 4 deletions.
4 changes: 2 additions & 2 deletions pyrousel/__main__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
from .app import Run
Run()
from .app import Main
Main()
57 changes: 56 additions & 1 deletion pyrousel/app.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,70 @@
import argparse
from dataclasses import dataclass
from .appwindow import AppWindow

@dataclass
class ApplicationSettings:
window_width: int = 1024
window_height: int = 1024
startup_model: str = None

def Main() -> None:
args = ParseArgs()
if args is None:
exit(1)

app_settings = ApplicationSettings()
app_settings.window_width = args.width
app_settings.window_height = args.height
app_settings.startup_model = args.model

Run(app_settings)
exit(0)

def Run(settings: ApplicationSettings = ApplicationSettings()) -> None:
print('Running Pyrousel...')
print(f'--Window size: {settings.window_width}x{settings.window_height}')
print(f'--Startup model: {settings.startup_model}')
print('\n')

app_window = AppWindow(settings.window_width, settings.window_height)
app_window.Init()
app_window.Init()

if settings.startup_model is not None:
app_window.OnModelRequested(settings.startup_model)

app_window.Run()
print('Quitting Pyrousel')

def ParseArgs():
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument(
'--width',
type=int,
default=1024,
required=False,
help='window width in pixels'
)
arg_parser.add_argument(
'--height',
type=int,
default=1024,
required=False,
help='window height in pixels'
)
arg_parser.add_argument(
'--model',
type=str,
default=None,
required=False,
help='filepath to initial model file'
)

args = None
try:
args = arg_parser.parse_args()
except Exception as err:
err.print()
arg_parser.print_help()

return args
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
],
entry_points={
'console_scripts': [
'pyrousel=pyrousel.app:Run'
'pyrousel=pyrousel.app:Main'
]
}
)

0 comments on commit 3071d4e

Please sign in to comment.