Ensure each basedir is only added to the search path once

Fixes #1790.
parent 3a36c024
......@@ -58,10 +58,15 @@ class PluginLoader(object):
"""Return a list of paths to search for plugins in
The list is searched in order."""
return self._extra_dirs + \
[os.path.join(basedir, self.subdir) for basedir in _basedirs] + \
self.config.split(os.pathsep) + \
self._get_package_path()
ret = []
ret += self._extra_dirs
for basedir in _basedirs:
fullpath = os.path.join(basedir, self.subdir)
if fullpath not in ret:
ret.append(fullpath)
ret += self.config.split(os.pathsep)
ret += self._get_package_path()
return ret
def add_directory(self, directory):
"""Adds an additional directory to the search path"""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment