diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-07-10 15:56:11 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-07-10 15:56:11 -0700 |
commit | 924a0c09259d25a4dfe62c0a626a9204df45daa9 (patch) | |
tree | 78647e8ce95fbba95d3d668d06a1cdde507a9d92 /continuedev/src | |
parent | b158edca175cae8a80773f88a65785728b99f17e (diff) | |
download | sncontinue-924a0c09259d25a4dfe62c0a626a9204df45daa9.tar.gz sncontinue-924a0c09259d25a4dfe62c0a626a9204df45daa9.tar.bz2 sncontinue-924a0c09259d25a4dfe62c0a626a9204df45daa9.zip |
Allow loading of config.py to fail
Diffstat (limited to 'continuedev/src')
-rw-r--r-- | continuedev/src/continuedev/core/policy.py | 3 | ||||
-rw-r--r-- | continuedev/src/continuedev/core/sdk.py | 22 |
2 files changed, 17 insertions, 8 deletions
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): |