From 924a0c09259d25a4dfe62c0a626a9204df45daa9 Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Mon, 10 Jul 2023 15:56:11 -0700 Subject: Allow loading of config.py to fail --- continuedev/src/continuedev/core/policy.py | 3 +++ continuedev/src/continuedev/core/sdk.py | 22 ++++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) (limited to 'continuedev/src') diff --git a/continuedev/src/continuedev/core/policy.py b/continuedev/src/continuedev/core/policy.py index 93946cb6..86e85e7e 100644 --- a/continuedev/src/continuedev/core/policy.py +++ b/continuedev/src/continuedev/core/policy.py @@ -85,6 +85,9 @@ class DemoPolicy(Policy): if custom_command is not None: return custom_command + if user_input.startswith("/edit"): + return EditHighlightedCodeStep(user_input=user_input[5:]) + return SimpleChatStep() return None diff --git a/continuedev/src/continuedev/core/sdk.py b/continuedev/src/continuedev/core/sdk.py index f67198a8..48d41f7c 100644 --- a/continuedev/src/continuedev/core/sdk.py +++ b/continuedev/src/continuedev/core/sdk.py @@ -166,14 +166,20 @@ class ContinueSDK(AbstractContinueSDK): async def get_user_secret(self, env_var: str, prompt: str) -> str: return await self.ide.getUserSecret(env_var) - @staticmethod - def load_config_dot_py(path: str) -> ContinueConfig: + _last_valid_config: ContinueConfig = None + + def load_config_dot_py(self, path: str) -> ContinueConfig: # Use importlib to load the config file config.py at the given path - import importlib.util - spec = importlib.util.spec_from_file_location("config", path) - config = importlib.util.module_from_spec(spec) - spec.loader.exec_module(config) - return config.config + try: + import importlib.util + spec = importlib.util.spec_from_file_location("config", path) + config = importlib.util.module_from_spec(spec) + spec.loader.exec_module(config) + self._last_valid_config = config.config + return config.config + except Exception as e: + print("Error loading config.py: ", e) + return ContinueConfig() if self._last_valid_config is None else self._last_valid_config @property def config(self) -> ContinueConfig: @@ -189,7 +195,7 @@ class ContinueSDK(AbstractContinueSDK): # Need to copy over the default config return ContinueConfig() - config = ContinueSDK.load_config_dot_py(path) + config = self.load_config_dot_py(path) return config def update_default_model(self, model: str): -- cgit v1.2.3-70-g09d2