0.1.0 #23 Added 'Autorun' flag to XtendRSystem Attach() method. Also added a new version() method. /JL

This commit is contained in:
2025-03-08 18:20:34 +01:00
parent 2ea29fe5ea
commit c7662a5d47

View File

@@ -4,11 +4,15 @@ import os
import json
from xtendr.xtendrbase import XtendRBase
__version__ = "0.1.0"
class XtendRSystem:
"""Plugin system to manage plugins.
Example:
>>> system = XtendRSystem()
>>> system.version()
XtendR v0.1.0
>>> system.attach("example_plugin") # Assuming 'example_plugin/example_plugin.json' exists
>>> system.run("example_plugin")
ExamplePlugin is running!
@@ -20,6 +24,9 @@ class XtendRSystem:
def __init__(self):
self.plugins = {}
def version(self) -> str:
return "XtendR v" + __version__
def attach(self, name: str) -> None:
"""Dynamically load a plugin from its folder."""
if name in self.plugins:
@@ -55,7 +62,8 @@ class XtendRSystem:
self.plugins[name] = {
'instance': instance,
'running': False,
'info': plugin_info
'info': plugin_info,
'autorun': False
}
print(f"Attached plugin '{name}'.")
except (ModuleNotFoundError, json.JSONDecodeError, AttributeError) as e: