diff options
Diffstat (limited to 'web-project')
| -rw-r--r-- | web-project/pyproject.toml | 1 | ||||
| -rw-r--r-- | web-project/src/solo_tool_web.py | 15 | 
2 files changed, 13 insertions, 3 deletions
| diff --git a/web-project/pyproject.toml b/web-project/pyproject.toml index 844de72..b175dcc 100644 --- a/web-project/pyproject.toml +++ b/web-project/pyproject.toml @@ -11,6 +11,7 @@ description = "A NiceGUI-based web frontend for the solo_tool library"  requires-python = ">=3.13"  dependencies = [      "nicegui==2.11.1", +    "click==8.2.1",      "solo_tool>=2.0"  ]  dynamic = ["version"] diff --git a/web-project/src/solo_tool_web.py b/web-project/src/solo_tool_web.py index 181dde2..20d2d11 100644 --- a/web-project/src/solo_tool_web.py +++ b/web-project/src/solo_tool_web.py @@ -5,6 +5,7 @@ from os.path import basename, splitext  from functools import partial  from nicegui import ui  from starlette.formparsers import MultiPartParser +import click  from solo_tool import SoloTool  from solo_tool.session_manager import loadSession, saveSession @@ -128,11 +129,19 @@ def landingPage():      for name, soloTool in sessions.items():          ui.button(name, on_click=partial(ui.navigate.to, f"/{name}")) -def main(reload=False): +def start(port, refresh, reload):      try: -        ui.run(reload=reload, binding_refresh_interval=0.5, port=int(sys.argv[1])) +        ui.run(reload=reload, binding_refresh_interval=refresh, port=port)      except KeyboardInterrupt:          pass +@click.command() +@click.option("--port", type=int, default=8080, help="Port on which to bind.") +@click.option("--refresh", type=float, default=0.5, help="Refresh interval in seconds.") +@click.option("--reload/--no-reload", default=True, help="Auto-reload when files change.") +def main(port, refresh, reload): +    start(port, refresh, reload) + +# Hardcoded dev settings  if __name__ in {"__main__", "__mp_main__"}: -    main(True) +    start(8080, 0.5, True) | 
