Skip to content
Snippets Groups Projects
Commit 132bf340 authored by Sec 42's avatar Sec 42 Committed by q3k
Browse files

sim, py: optional argument to start app dirctly

parent 0022b633
No related branches found
No related tags found
No related merge requests found
from st3m.reactor import Reactor, Responder from st3m.reactor import Reactor, Responder
from st3m.goose import List from st3m.goose import List, Optional
from st3m.ui.menu import ( from st3m.ui.menu import (
MenuItem, MenuItem,
MenuItemBack, MenuItemBack,
...@@ -23,6 +23,9 @@ import machine ...@@ -23,6 +23,9 @@ import machine
log = logging.Log(__name__, level=logging.INFO) log = logging.Log(__name__, level=logging.INFO)
#: Can be set to a bundle name that should be started instead of the main menu when run_main is called.
override_main_app: Optional[str] = None
def _make_reactor() -> Reactor: def _make_reactor() -> Reactor:
reactor = Reactor() reactor = Reactor()
...@@ -144,6 +147,14 @@ def run_main() -> None: ...@@ -144,6 +147,14 @@ def run_main() -> None:
MenuItemForeground("System", menu_system), MenuItemForeground("System", menu_system),
], ],
) )
if override_main_app is not None:
requested = [b for b in bundles if b.name == override_main_app]
print([b.name for b in bundles])
if len(requested) > 1:
raise Exception(f"More than one bundle named {override_main_app}")
if len(requested) == 0:
raise Exception(f"Requested bundle {override_main_app} not found")
run_view(requested[0].load())
run_view(menu_main) run_view(menu_main)
......
...@@ -111,5 +111,9 @@ if len(sys.argv) >= 2 and sys.argv[1] == "screenshot": ...@@ -111,5 +111,9 @@ if len(sys.argv) >= 2 and sys.argv[1] == "screenshot":
import hardware import hardware
hardware.SCREENSHOT = True hardware.SCREENSHOT = True
elif len(sys.argv) == 2:
import st3m.run
st3m.run.override_main_app = sys.argv[1]
import main import main
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment