Leonydis137 commited on
Commit
feb01fa
·
verified ·
1 Parent(s): 65ebd48

Upload plugin_manager.py

Browse files
Files changed (1) hide show
  1. plugin_manager.py +20 -0
plugin_manager.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ class PluginManager:
3
+ def __init__(self):
4
+ self.tools = {}
5
+
6
+ def register(self, name, func):
7
+ if not callable(func):
8
+ raise ValueError(f"Plugin '{name}' is not callable.")
9
+ self.tools[name] = func
10
+
11
+ def list_plugins(self):
12
+ return list(self.tools.keys())
13
+
14
+ def call(self, name, *args, **kwargs):
15
+ if name not in self.tools:
16
+ return f"[PluginManager] Tool '{name}' not found."
17
+ try:
18
+ return self.tools[name](*args, **kwargs)
19
+ except Exception as e:
20
+ return f"[PluginManager Error] {str(e)}"