moonraker: provide startup warnings as a list

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
This commit is contained in:
Eric Callahan 2022-08-06 15:31:42 -04:00
parent 0d936d5af0
commit e82fe46c11
No known key found for this signature in database
GPG Key ID: 5A1EB336DFB4C71B
1 changed files with 9 additions and 9 deletions

View File

@ -92,12 +92,8 @@ class Server:
self.register_upload_handler = app.register_upload_handler self.register_upload_handler = app.register_upload_handler
self.register_api_transport = app.register_api_transport self.register_api_transport = app.register_api_transport
log_warn = args.get('log_warning', "") for warning in args.get("startup_warnings", []):
if log_warn: self.add_warning(warning)
self.add_warning(log_warn)
cfg_warn = args.get("config_warning", "")
if cfg_warn:
self.add_warning(cfg_warn)
self.register_endpoint( self.register_endpoint(
"/server/info", ['GET'], self._handle_info_request) "/server/info", ['GET'], self._handle_info_request)
@ -440,6 +436,8 @@ def main(cmd_line_args: argparse.Namespace) -> None:
cfg_file = cmd_line_args.configfile cfg_file = cmd_line_args.configfile
app_args = {'config_file': cfg_file} app_args = {'config_file': cfg_file}
startup_warnings: List[str] = []
app_args["startup_warnings"] = startup_warnings
# Setup Logging # Setup Logging
version = utils.get_software_version() version = utils.get_software_version()
if cmd_line_args.nologfile: if cmd_line_args.nologfile:
@ -451,7 +449,7 @@ def main(cmd_line_args: argparse.Namespace) -> None:
app_args['python_version'] = sys.version.replace("\n", " ") app_args['python_version'] = sys.version.replace("\n", " ")
ql, file_logger, warning = utils.setup_logging(app_args) ql, file_logger, warning = utils.setup_logging(app_args)
if warning is not None: if warning is not None:
app_args['log_warning'] = warning startup_warnings.append(warning)
# Start asyncio event loop and server # Start asyncio event loop and server
event_loop = EventLoop() event_loop = EventLoop()
@ -468,7 +466,9 @@ def main(cmd_line_args: argparse.Namespace) -> None:
estatus = 1 estatus = 1
break break
app_args['config_file'] = backup_cfg app_args['config_file'] = backup_cfg
app_args['config_warning'] = ( warn_list = list(startup_warnings)
app_args["startup_warnings"] = warn_list
warn_list.append(
f"Server configuration error: {e}\n" f"Server configuration error: {e}\n"
f"Loaded server from most recent working configuration:" f"Loaded server from most recent working configuration:"
f" '{app_args['config_file']}'\n" f" '{app_args['config_file']}'\n"
@ -494,7 +494,7 @@ def main(cmd_line_args: argparse.Namespace) -> None:
# before the server restarts # before the server restarts
if alt_config_loaded: if alt_config_loaded:
app_args['config_file'] = cfg_file app_args['config_file'] = cfg_file
app_args.pop('config_warning', None) app_args["startup_warnings"] = startup_warnings
alt_config_loaded = False alt_config_loaded = False
event_loop.close() event_loop.close()
# Since we are running outside of the the server # Since we are running outside of the the server