[gnome-continuous-yocto/gnomeostree-3.28-rocko: 62/8267] bitbake: bb.utils: use imp.get_suffixes for load_plugins



commit 19e6fd5b7b53f75752dc82d0df0f5e65d10954ac
Author: Christopher Larson <chris_larson mentor com>
Date:   Sat Apr 30 12:40:58 2016 -0700

    bitbake: bb.utils: use imp.get_suffixes for load_plugins
    
    Rather than hardcoding .py, use python's knowledge of its file extensions.
    
    (Bitbake rev: 09f838dbaefdaedc01a1f4818ed38280b38db744)
    
    Signed-off-by: Christopher Larson <chris_larson mentor com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/utils.py |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index 92f1b60..c54ff5b 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/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'):


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]