Plugin detection doesn't follow symlinks
A fat-free DIY Python plugin management toolkit.
Brought to you by:
tibonihoo
From https://github.com/getnikola/nikola/issues/1234:
If you have plugins/foo -> /bar/foo it's not recognized as a plugin. Is probably a yapsy problem
This is indeed because PluginFileLocator.locatePlugins() uses walk without > following symlinks.
Roberto Alsina
Anonymous
Diff:
apparently the bug is triggered by symlinked directories that are below the directory given as the search path and the plugin directory.
If only the plugin's directory is a symlink then no bug. And no bug either if the plugin info file is a symlink.
So in the provided sample, assuming that foo is a plugin directory (ie with the plugin class defined in
foo/__init__.py) then the bug would appear if plugins is a symlinked directory with plugins -> bar.Anyway this was the occasion to add some more tests on plugin locations and the bug is aobut to be fixed.
Last edit: Thibauld Nion 2014-06-07
This is fixed in v1.10.423