aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Peter Petermann <ppetermann80@googlemail.com> 2023-06-26 21:25:21 +0200
committerGravatar GitHub <noreply@github.com> 2023-06-26 15:25:21 -0400
commit9e99db1d3eece38df7509b4797ec63cad26cb8de (patch)
tree7ba621c45668eeae339a582da5afbf1c08c649f5
parentPrevent docker-compose.yml and Dockerfile from being written (#4761) (diff)
downloadAuto-GPT-9e99db1d3eece38df7509b4797ec63cad26cb8de.tar.gz
Auto-GPT-9e99db1d3eece38df7509b4797ec63cad26cb8de.tar.bz2
Auto-GPT-9e99db1d3eece38df7509b4797ec63cad26cb8de.zip
Only take subclasses of AutoGPTPluginTemplate as plugins
Co-authored-by: Nicholas Tindle <nick@ntindle.com> Co-authored-by: Luke <2609441+lc0rp@users.noreply.github.com>
-rw-r--r--.gitignore2
-rw-r--r--autogpt/plugins/__init__.py9
2 files changed, 8 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 29a0285a8..1376ba5dd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,7 +31,7 @@ __pycache__/
build/
develop-eggs/
dist/
-plugins/
+/plugins/
plugins_config.yaml
downloads/
eggs/
diff --git a/autogpt/plugins/__init__.py b/autogpt/plugins/__init__.py
index d0a4864c5..30a43d9f0 100644
--- a/autogpt/plugins/__init__.py
+++ b/autogpt/plugins/__init__.py
@@ -259,9 +259,10 @@ def scan_plugins(config: Config, debug: bool = False) -> List[AutoGPTPluginTempl
if key.startswith("__"):
continue
a_module = getattr(zipped_module, key)
- a_keys = dir(a_module)
+
if (
- "_abc_impl" in a_keys
+ inspect.isclass(a_module)
+ and issubclass(a_module, AutoGPTPluginTemplate)
and a_module.__name__ != "AutoGPTPluginTemplate"
):
plugin_name = a_module.__name__
@@ -284,6 +285,10 @@ def scan_plugins(config: Config, debug: bool = False) -> List[AutoGPTPluginTempl
f"they are enabled in plugins_config.yaml. Zipped plugins should use the class "
f"name ({plugin_name}) as the key."
)
+ else:
+ logger.debug(
+ f"Skipping {key}: {a_module.__name__} because it doesn't subclass AutoGPTPluginTemplate."
+ )
# OpenAI plugins
if config.plugins_openai: