Switch to use poetry, use a cli interface instead of a config file.
This commit is contained in:
75
grzegorz_clients/__main__.py
Normal file
75
grzegorz_clients/__main__.py
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env python3
|
||||
import os, sys, shutil
|
||||
from remi import start
|
||||
from threading import Timer
|
||||
import typer
|
||||
from . import api, remi_ui
|
||||
|
||||
|
||||
cli = typer.Typer()
|
||||
|
||||
@cli.command()
|
||||
def main(
|
||||
address : str = "localhost", # network interface ip
|
||||
port : int = 8001, # http listen port
|
||||
api_base : str = "https://brzeczyszczykiewicz.pvv.ntnu.no/api", #Link to where your Grzegorz API is hosted
|
||||
|
||||
host_name : str = None, # a string containing the host name or remote ip address that allows to access to your app.
|
||||
websocket_port : int = 0, # websocket port, 0 makes it random
|
||||
|
||||
# In order to limit the remote access to your interface you
|
||||
# can define a username and password. It probably uses http basic-auth
|
||||
username : str = None,
|
||||
password : str = None,
|
||||
|
||||
# Open a PyWebView window instead of using the browser. This requires pywebview to be installed.
|
||||
# This will negate all other options
|
||||
standalone : bool = False,
|
||||
|
||||
start_browser : bool = False, # Defines whether the browser should be opened automatically at startup
|
||||
multiple_instance : bool = False, # Multipe instance. If True, multiple clients that connects to your script has different App instances
|
||||
enable_file_cache : bool = True, # Cache files in "res" folder
|
||||
|
||||
# set to false to force the volume to be zero.
|
||||
# Great for remote development!
|
||||
volume : bool = True,
|
||||
):
|
||||
|
||||
if not volume:
|
||||
print("Keeping volume down")
|
||||
def keep_volume_down():
|
||||
api.set_volume(0)
|
||||
Timer(5, keep_volume_down).start()
|
||||
Timer(5, keep_volume_down).start()
|
||||
|
||||
|
||||
api.set_endpoint(api_base)
|
||||
|
||||
# start the webserver:
|
||||
|
||||
if standalone: # it's picky :(
|
||||
start(
|
||||
remi_ui.RemiApp,
|
||||
title = "Gregorz",
|
||||
standalone = standalone
|
||||
)
|
||||
else:
|
||||
start(
|
||||
remi_ui.RemiApp,
|
||||
title = "Gregorz",
|
||||
address = address,
|
||||
port = port,
|
||||
host_name = host_name,
|
||||
websocket_port = websocket_port,
|
||||
username = username,
|
||||
password = password,
|
||||
standalone = standalone,
|
||||
start_browser = start_browser,
|
||||
multiple_instance = multiple_instance,
|
||||
enable_file_cache = enable_file_cache,
|
||||
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
cli()
|
||||
Reference in New Issue
Block a user