4 Commits
5 changed files with 19 additions and 8 deletions
+5 -1
View File
@@ -16,6 +16,10 @@ if __name__ == "__main__":
""" """
system = XtendRSystem() system = XtendRSystem()
system.attach("example_plugin") # Assuming 'example_plugin/plugin_info.json' exists system.attach("example_plugin") # Assuming 'example_plugin/plugin_info.json' exists
system.run("example_plugin") system.run("example_plugin", "Hello!")
system.stop("example_plugin")
system.run("example_plugin", 25)
system.stop("example_plugin")
system.run("example_plugin", "Hello!", 25)
system.stop("example_plugin") system.stop("example_plugin")
system.detach("example_plugin") system.detach("example_plugin")
+9 -2
View File
@@ -5,12 +5,19 @@ class ExamplePlugin(XtendRBase):
Example: Example:
>>> plugin = ExamplePlugin() >>> plugin = ExamplePlugin()
>>> plugin.run() >>> plugin.run("Hello!", 25)
Passed arguments 2:
Argument 0: Hello!
Argument 1: 25
ExamplePlugin is running! ExamplePlugin is running!
>>> plugin.stop() >>> plugin.stop()
ExamplePlugin has stopped! ExamplePlugin has stopped!
""" """
def run(self): def run(self, *args):
print(f"Passed arguments {len(args)}:")
for idx, a in enumerate(args):
print(f"Argument {idx}: {a}")
print("ExamplePlugin is running!") print("ExamplePlugin is running!")
def stop(self): def stop(self):
+1 -1
View File
@@ -3,7 +3,7 @@ if __name__ == "__main__":
setup( setup(
name="XtendR", name="XtendR",
version="0.1.2", version="0.2.0",
packages=find_packages(), packages=find_packages(),
install_requires=[], install_requires=[],
author="Jan Lerking", author="Jan Lerking",
+1 -1
View File
@@ -17,7 +17,7 @@ class XtendRBase(ABC):
Stopping TestPlugin Stopping TestPlugin
""" """
@abstractmethod @abstractmethod
def run(self): def run(self, *args):
pass pass
@abstractmethod @abstractmethod
+3 -3
View File
@@ -4,7 +4,7 @@ import os
import json import json
from xtendr.xtendrbase import XtendRBase from xtendr.xtendrbase import XtendRBase
__version__ = "0.1.2" __version__ = "0.1.3"
class XtendRSystem: class XtendRSystem:
"""Plugin system to manage plugins. """Plugin system to manage plugins.
@@ -12,7 +12,7 @@ class XtendRSystem:
Example: Example:
>>> system = XtendRSystem() >>> system = XtendRSystem()
>>> system.version() >>> system.version()
XtendR v0.1.2 XtendR v0.1.3
>>> system.attach("example_plugin") # Assuming 'example_plugin/example_plugin.json' exists >>> system.attach("example_plugin") # Assuming 'example_plugin/example_plugin.json' exists
>>> system.run("example_plugin") >>> system.run("example_plugin")
ExamplePlugin is running! ExamplePlugin is running!
@@ -34,7 +34,7 @@ class XtendRSystem:
print(f"Plugin '{name}' is already attached.") print(f"Plugin '{name}' is already attached.")
return return
plugin_path = os.path.join(os.getcwd(), self.pluginpath, name) plugin_path = os.path.join(os.getcwd(), self.pluginspath, name)
info_path = os.path.join(plugin_path, name + ".json") info_path = os.path.join(plugin_path, name + ".json")
print(plugin_path + "\n" + info_path) print(plugin_path + "\n" + info_path)