Fix plugin loading issue

This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-12-07 09:59:29 -03:00
commit 5914381e84
2 changed files with 5 additions and 3 deletions

View file

@ -1,6 +1,7 @@
from typing import TYPE_CHECKING
from langflow.services.plugins.service import PluginService
from langflow.services.factory import ServiceFactory
from langflow.services.plugins.service import PluginService
if TYPE_CHECKING:
from langflow.services.settings.service import SettingsService
@ -12,5 +13,4 @@ class PluginServiceFactory(ServiceFactory):
def create(self, settings_service: "SettingsService"):
service = PluginService(settings_service)
service.load_plugins()
return service

View file

@ -5,6 +5,7 @@ from typing import TYPE_CHECKING, Union
from langflow.services.base import Service
from langflow.services.plugins.base import BasePlugin, CallbackPlugin
from loguru import logger
if TYPE_CHECKING:
from langflow.services.settings.service import SettingsService
@ -18,6 +19,7 @@ class PluginService(Service):
# plugin_dir = settings_service.settings.PLUGIN_DIR
self.plugin_dir = os.path.dirname(__file__)
self.plugins_base_module = "langflow.services.plugins"
self.load_plugins()
def load_plugins(self):
base_files = ["base.py", "service.py", "factory.py", "__init__.py"]
@ -32,7 +34,7 @@ class PluginService(Service):
if inspect.isclass(attr) and issubclass(attr, BasePlugin) and attr not in [CallbackPlugin, BasePlugin]:
self.register_plugin(plugin_name, attr())
except Exception as exc:
print(f"Error loading plugin {plugin_name}: {exc}")
logger.error(f"Error loading plugin {plugin_name}: {exc}")
def register_plugin(self, plugin_name, plugin_instance):
self.plugins[plugin_name] = plugin_instance