Skip to content

Commit a1e6fa8

Browse files
committed
pluginmanager: use dynamic script type
1 parent 5fdf523 commit a1e6fa8

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/penguin/plugin_manager.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -576,9 +576,12 @@ def load_all(self, plugin_file: str,
576576
if not plugin_classes:
577577
# No Plugin classes found, load as ScriptingPlugin
578578
name = basename(plugin_file).split('.')[0]
579-
ScriptingPlugin.__name__ = name
580-
ScriptingPlugin.script = plugin_file
581-
plugin_classes.append((name, ScriptingPlugin))
579+
DynamicScriptingPlugin = type(
580+
name,
581+
(ScriptingPlugin,),
582+
{"script": plugin_file}
583+
)
584+
plugin_classes.append((name, DynamicScriptingPlugin))
582585

583586
for name, cls in plugin_classes:
584587
cls.__name__ = name

0 commit comments

Comments
 (0)