-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Exposed application settings to command line arguments
- Loading branch information
1 parent
55e8678
commit 3071d4e
Showing
3 changed files
with
59 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
from .app import Run | ||
Run() | ||
from .app import Main | ||
Main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33,7 +33,7 @@ | |
], | ||
entry_points={ | ||
'console_scripts': [ | ||
'pyrousel=pyrousel.app:Run' | ||
'pyrousel=pyrousel.app:Main' | ||
] | ||
} | ||
) |