From 956b1c905b461d6dd008b7f8b37792980d3a21b6 Mon Sep 17 00:00:00 2001 From: Xuwznln <18435084+Xuwznln@users.noreply.github.com> Date: Tue, 18 Nov 2025 18:59:39 +0800 Subject: [PATCH] Add startup_json_path, disable_browser, port config (cherry picked from commit acf5fdebf8e851311c183b47e55446aaead6cb6f) --- unilabos/app/main.py | 13 ++++++++----- unilabos/config/config.py | 3 +++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/unilabos/app/main.py b/unilabos/app/main.py index ad32612d..63323ee1 100644 --- a/unilabos/app/main.py +++ b/unilabos/app/main.py @@ -105,7 +105,7 @@ def parse_args(): parser.add_argument( "--port", type=int, - default=8002, + default=None, help="Port for web service information page", ) parser.add_argument( @@ -252,6 +252,8 @@ def main(): else: print_status("远程资源不存在,本地将进行首次上报!", "info") + BasicConfig.port = args_dict["port"] if args_dict["port"] else BasicConfig.port + BasicConfig.disable_browser = args_dict["disable_browser"] or BasicConfig.disable_browser BasicConfig.working_dir = working_dir BasicConfig.is_host_mode = not args_dict.get("is_slave", False) BasicConfig.slave_no_host = args_dict.get("slave_no_host", False) @@ -291,7 +293,9 @@ def main(): resource_tree_set: ResourceTreeSet resource_links: List[Dict[str, Any]] request_startup_json = http_client.request_startup_json() - if args_dict["graph"] is None: + + file_path = args_dict.get("graph", BasicConfig.startup_json_path) + if file_path is None: if not request_startup_json: print_status( "未指定设备加载文件路径,尝试从HTTP获取失败,请检查网络或者使用-g参数指定设备加载文件路径", "error" @@ -301,7 +305,6 @@ def main(): print_status("联网获取设备加载文件成功", "info") graph, resource_tree_set, resource_links = read_node_link_json(request_startup_json) else: - file_path = args_dict["graph"] if not os.path.isfile(file_path): temp_file_path = os.path.abspath(str(os.path.join(__file__, "..", "..", file_path))) if os.path.isfile(temp_file_path): @@ -418,8 +421,8 @@ def main(): server_thread = threading.Thread( target=start_server, kwargs=dict( - open_browser=not args_dict["disable_browser"], - port=args_dict["port"], + open_browser=not BasicConfig.disable_browser, + port=BasicConfig.port, ), ) server_thread.start() diff --git a/unilabos/config/config.py b/unilabos/config/config.py index 41f2fb5f..c13064ef 100644 --- a/unilabos/config/config.py +++ b/unilabos/config/config.py @@ -18,6 +18,9 @@ class BasicConfig: vis_2d_enable = False enable_resource_load = True communication_protocol = "websocket" + startup_json_path = None # 填写绝对路径 + disable_browser = False # 禁止浏览器自动打开 + port = 8002 # 本地HTTP服务 log_level: Literal['TRACE', 'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'] = "DEBUG" # 'TRACE', 'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL' @classmethod