|
@@ -1,3 +1,4 @@
|
|
|
+import logging
|
|
|
from collections.abc import Sequence
|
|
|
from mimetypes import guess_type
|
|
|
|
|
@@ -11,6 +12,8 @@ from core.plugin.manager.asset import PluginAssetManager
|
|
|
from core.plugin.manager.debugging import PluginDebuggingManager
|
|
|
from core.plugin.manager.plugin import PluginInstallationManager
|
|
|
|
|
|
+logger = logging.getLogger(__name__)
|
|
|
+
|
|
|
|
|
|
class PluginService:
|
|
|
@staticmethod
|
|
@@ -29,7 +32,14 @@ class PluginService:
|
|
|
manager = PluginInstallationManager()
|
|
|
plugins = manager.list_plugins(tenant_id)
|
|
|
plugin_ids = [plugin.plugin_id for plugin in plugins if plugin.source == PluginInstallationSource.Marketplace]
|
|
|
- manifests = {manifest.plugin_id: manifest for manifest in marketplace.batch_fetch_plugin_manifests(plugin_ids)}
|
|
|
+ try:
|
|
|
+ manifests = {
|
|
|
+ manifest.plugin_id: manifest for manifest in marketplace.batch_fetch_plugin_manifests(plugin_ids)
|
|
|
+ }
|
|
|
+ except Exception as e:
|
|
|
+ manifests = {}
|
|
|
+ logger.exception(f"failed to fetch plugin manifests: {e}")
|
|
|
+
|
|
|
for plugin in plugins:
|
|
|
if plugin.source == PluginInstallationSource.Marketplace:
|
|
|
if plugin.plugin_id in manifests:
|