1
0
Fork 0

Add option --plugin-dirs (#11277)

Closes #3260
Authored by: imranh2, coletdjnz

Co-authored-by: coletdjnz <coletdjnz@protonmail.com>
This commit is contained in:
Imran Hussain 2024-10-20 18:10:26 +01:00 committed by GitHub
commit 0f593dca9f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 55 additions and 0 deletions

View file

@ -15,6 +15,7 @@ from zipfile import ZipFile
from .compat import functools # isort: split
from .utils import (
Config,
get_executable_path,
get_system_config_dirs,
get_user_config_dirs,
@ -84,6 +85,12 @@ class PluginFinder(importlib.abc.MetaPathFinder):
with contextlib.suppress(ValueError): # Added when running __main__.py directly
candidate_locations.remove(Path(__file__).parent)
# TODO(coletdjnz): remove when plugin globals system is implemented
if Config._plugin_dirs:
candidate_locations.extend(_get_package_paths(
*Config._plugin_dirs,
containing_folder=''))
parts = Path(*fullname.split('.'))
for path in orderedSet(candidate_locations, lazy=True):
candidate = path / parts