aboutsummaryrefslogtreecommitdiffstats
path: root/app/PluginManager.py
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2023-09-02 19:53:41 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2023-09-10 19:01:00 +0300
commit4745449cf847f27c3cbbca5cef2f1d9d02103692 (patch)
treee637f293a3e0c431f3796624cb8a908d26ba1e8f /app/PluginManager.py
parent52418884284b5bf0919c48cf4b02c3bd23dc9e97 (diff)
Stuff
Diffstat (limited to 'app/PluginManager.py')
-rw-r--r--app/PluginManager.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/app/PluginManager.py b/app/PluginManager.py
index 2b616ca..3ec9d44 100644
--- a/app/PluginManager.py
+++ b/app/PluginManager.py
@@ -7,13 +7,13 @@ from app.Item import Item
from app.PluginInterface import PluginInterface
from app.AggroConfig import AggroConfig
from app.utils import get_param
+from app.MemoryState import memory_state
class PluginManager:
def __init__(self, config: AggroConfig) -> None:
self._plugins: dict[str, Any] = {}
self.plugin_instances: dict[str, PluginInterface] = {}
- self.running = False
self.config = config
def load_plugin(self, plugin_name: str) -> None:
@@ -21,6 +21,8 @@ class PluginManager:
plugin_class = module.Plugin
self._plugins[plugin_name] = plugin_class
+ # TODO instead of propagating procedurally,
+ # insert data into an next_node_id-identified input queue in tinydb
def propagate(self, id: str, items: list[Item]):
next_nodes: list[str]
if id not in self.config.graph:
@@ -32,7 +34,7 @@ class PluginManager:
self.run_plugin_job(next_node_id, items)
def run_plugin_job(self, id: str, items: list[Item] = []):
- if not self.running:
+ if not memory_state.running:
return
plugin: PluginInterface = self.plugin_instances[id]
@@ -65,7 +67,6 @@ class PluginManager:
self.plugin_instances[id] = plugin
def run(self) -> None:
- self.running = True
- while self.running:
+ while memory_state.running:
schedule.run_pending()
time.sleep(1)