diff options
author | Christopher Larson <chris_larson@mentor.com> | 2016-04-30 12:40:58 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-06 10:19:59 +0100 |
commit | 09f838dbaefdaedc01a1f4818ed38280b38db744 (patch) | |
tree | 36bd9e9caa4a68faface6c6c93bb4cf8dc357ac1 /lib/bb/utils.py | |
parent | 99db61bf816d9c735032caa762aae8e6a0803402 (diff) | |
download | bitbake-contrib-09f838dbaefdaedc01a1f4818ed38280b38db744.tar.gz |
bb.utils: use imp.get_suffixes for load_plugins
Rather than hardcoding .py, use python's knowledge of its file extensions.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/utils.py')
-rw-r--r-- | lib/bb/utils.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/bb/utils.py b/lib/bb/utils.py index 92f1b6020..c54ff5b92 100644 --- a/lib/bb/utils.py +++ b/lib/bb/utils.py @@ -28,6 +28,7 @@ import bb.msg import multiprocessing import fcntl import imp +import itertools import subprocess import glob import fnmatch @@ -41,6 +42,8 @@ from ctypes import cdll logger = logging.getLogger("BitBake.Util") +python_extensions = [e for e, _, _ in imp.get_suffixes()] + def clean_context(): return { @@ -1465,8 +1468,12 @@ def load_plugins(logger, plugins, pluginpath): fp.close() logger.debug('Loading plugins from %s...' % pluginpath) - for fn in glob.glob(os.path.join(pluginpath, '*.py')): - name = os.path.splitext(os.path.basename(fn))[0] + + expanded = (glob.glob(os.path.join(pluginpath, '*' + ext)) + for ext in python_extensions) + files = itertools.chain.from_iterable(expanded) + names = set(os.path.splitext(os.path.basename(fn))[0] for fn in files) + for name in names: if name != '__init__': plugin = load_plugin(name) if hasattr(plugin, 'plugin_init'): |