Commit graph

7 commits

Author SHA1 Message Date
Candice Bentéjac
56eebe4caf [core] plugins: Add templates handling in the Plugin class
Templates that are available for a plugin are detected and gathered
upon the plugin's creation.
2025-06-05 14:40:07 +02:00
Candice Bentéjac
836a351cc9 [core] plugins: Add a NodePluginManager class
The `NodePluginManager` class manages is used to load, manage,
and register plugins and nodes.
2025-06-05 14:40:06 +02:00
Candice Bentéjac
63e01d43bf [core] plugins: Add working NodePlugin class to represent nodes 2025-06-05 14:40:06 +02:00
Candice Bentéjac
fa3cb8c4d6 [core] plugins: Move validateNodeDesc from __init__.py to plugins.py
The validation of the node descriptions will be handled directly within
the `NodePlugin` objects and there is thus no need for this method to
exist outside of plugins.py.
2025-06-05 14:40:06 +02:00
Candice Bentéjac
1531e11b83 [core] plugins: Add NodePluginStatus enum for NodePlugin objects 2025-06-05 14:40:05 +02:00
Candice Bentéjac
f6694022a3 [core] plugins: Add a Plugin class that contains a set of nodes
A `Plugin` object contains a collection of nodes, represented as
`NodePlugin` objects. This commit adds the implementation of the `Plugin`
class with the methods to add and remove `NodePlugins`, as well as an
empty class for the `NodePlugin` objects themselves.
2025-06-05 14:40:05 +02:00
Candice Bentéjac
b56420318d [core] Add ProcessEnv class in new plugins module
Add a new module named `plugins` with a `ProcessEnv` class which
contains the paths describing the environment needed for the plugin's
(node's) process.
2025-06-05 14:38:54 +02:00