From 607845bacf345d03a23e25f870c10d7818c7a8aa Mon Sep 17 00:00:00 2001 From: Markus Hilger Date: Sun, 9 Aug 2026 07:09:46 +0200 Subject: [PATCH] Stop the plugin loader from shadowing the plugin module (F402) load_plugins() used `plugin` as the loop variable for plugin file names, which shadows `import confluent.plugin as plugin` for the whole function. Nothing in the function needed the module, so this was latent rather than broken, but the next line that does need it would have failed oddly. --- confluent_server/confluent/core.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/confluent_server/confluent/core.py b/confluent_server/confluent/core.py index 46e3d223..0c4491ca 100644 --- a/confluent_server/confluent/core.py +++ b/confluent_server/confluent/core.py @@ -131,24 +131,24 @@ def load_plugins(): continue sys.path.insert(1, plugindir) # two passes, to avoid adding both py and pyc files - for plugin in os.listdir(plugindir): - if plugin.startswith('.'): + for pluginname in os.listdir(plugindir): + if pluginname.startswith('.'): continue - if '__pycache__' in plugin: + if '__pycache__' in pluginname: continue - (plugin, plugtype) = os.path.splitext(plugin) + (pluginname, plugtype) = os.path.splitext(pluginname) if plugtype == '.sh': - pluginmap[plugin] = shellmodule.Plugin( - os.path.join(plugindir, plugin + '.sh')) - elif "__init__" not in plugin: - plugins.add(plugin) - for plugin in plugins: - tmpmod = __import__(plugin) + pluginmap[pluginname] = shellmodule.Plugin( + os.path.join(plugindir, pluginname + '.sh')) + elif "__init__" not in pluginname: + plugins.add(pluginname) + for pluginname in plugins: + tmpmod = __import__(pluginname) if 'plugin_names' in tmpmod.__dict__: for name in tmpmod.plugin_names: pluginmap[name] = tmpmod else: - pluginmap[plugin] = tmpmod + pluginmap[pluginname] = tmpmod _register_resource(tmpmod) plugins.clear() # restore path to not include the plugindir