Skip to content

Commit

Permalink
Merge pull request #1747 from Exirel/loader-plugins-folder
Browse files Browse the repository at this point in the history
plugins: add ~/.sopel/plugins folder
  • Loading branch information
dgw committed Nov 23, 2019
2 parents c696e32 + e97c998 commit c43fe42
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions sopel/plugins/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
and only one plugin per unique name, using a specific order:
* extra directories defined in the settings
* homedir's ``plugins`` directory
* homedir's ``modules`` directory
* ``sopel.plugins`` setuptools entry points
* ``sopel_modules``'s subpackages
Expand Down Expand Up @@ -130,15 +131,25 @@ def enumerate_plugins(settings):
* :func:`find_sopel_modules_plugins` for ``sopel_modules.*`` plugins
* :func:`find_entry_point_plugins` for plugins exposed by setuptools
entry points
* :func:`find_directory_plugins` for modules in ``$homedir/modules``
and in extra directories, as defined by ``settings.core.extra``
* :func:`find_directory_plugins` for plugins in ``$homedir/modules``,
``$homedir/plugins``, and in extra directories, as defined by
``settings.core.extra``
.. versionchanged:: 7.0
Previously, plugins were called "modules", so this would load plugins
from the ``$homedir/modules`` directory. Now it also loads plugins
from the ``$homedir/plugins`` directory.
"""
from_internals = find_internal_plugins()
from_sopel_modules = find_sopel_modules_plugins()
from_entry_points = find_entry_point_plugins()
# load from directories
source_dirs = [os.path.join(settings.homedir, 'modules')]
source_dirs = [
os.path.join(settings.homedir, 'modules'),
os.path.join(settings.homedir, 'plugins'),
]
if settings.core.extra:
source_dirs = source_dirs + list(settings.core.extra)

Expand All @@ -155,7 +166,7 @@ def enumerate_plugins(settings):
from_entry_points,
*from_directories)

# Get module settings
# Get plugin settings
enabled = settings.core.enable
disabled = settings.core.exclude

Expand Down

0 comments on commit c43fe42

Please sign in to comment.