From cb91670c7ad0481bb6ac5c1c73bbf1af6fbb9ba8 Mon Sep 17 00:00:00 2001 From: Jake <84923604+SecretiveShell@users.noreply.github.com> Date: Thu, 5 Sep 2024 15:33:00 +0100 Subject: [PATCH] fix command line args - move to a complet class singleton to avoid propagation errors - remove legacy load confing precedure --- common/tabby_config.py | 17 ++++++----------- main.py | 6 +++--- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/common/tabby_config.py b/common/tabby_config.py index c6119cb..c0c9e58 100644 --- a/common/tabby_config.py +++ b/common/tabby_config.py @@ -16,7 +16,10 @@ class TabbyConfig: developer: dict = {} embeddings: dict = {} - def __init__(self, arguments: Optional[dict] = None): + def __init__(self): + pass + + def load_config(self, arguments: Optional[dict] = None): """load the global application config""" # config is applied in order of items in the list @@ -44,10 +47,10 @@ class TabbyConfig: with open(str(config_path.resolve()), "r", encoding="utf8") as config_file: return unwrap(yaml.safe_load(config_file), {}) except FileNotFoundError: - logger.info("The config.yml file cannot be found") + logger.info(f"The '{config_path.name}' file cannot be found") except Exception as exc: logger.error( - "The YAML config couldn't load because of " + f"The YAML config from '{config_path.name}' couldn't load because of " f"the following error:\n\n{exc}" ) @@ -86,11 +89,3 @@ class TabbyConfig: # Create an empty instance of the shared var to make sure nothing breaks config: TabbyConfig = TabbyConfig() - - -def load_config(arguments: dict): - """Load a populated config class on startup.""" - - global shared_config - - shared_config = TabbyConfig(arguments) diff --git a/main.py b/main.py index 140b89b..f017ecc 100644 --- a/main.py +++ b/main.py @@ -15,7 +15,7 @@ from common.auth import load_auth_keys from common.logger import setup_logger from common.networking import is_port_in_use from common.signals import signal_handler -from common.tabby_config import config, load_config +from common.tabby_config import config from common.utils import unwrap from endpoints.server import export_openapi, start_api from endpoints.utils import do_export_openapi @@ -110,7 +110,7 @@ def entrypoint(arguments: Optional[dict] = None): arguments = convert_args_to_dict(parser.parse_args(), parser) # load config - load_config(arguments) + config.load_config(arguments) if do_export_openapi: openapi_json = export_openapi() @@ -123,7 +123,7 @@ def entrypoint(arguments: Optional[dict] = None): # Check exllamav2 version and give a descriptive error if it's too old # Skip if launching unsafely - + print(f"MAIN.PY {config=}") if unwrap(config.developer.get("unsafe_launch"), False): logger.warning( "UNSAFE: Skipping ExllamaV2 version check.\n"