Browse Source

binman: Use pkg_resources to find resources

At present we look for resources based on the path of the Python module
that wants them. Instead we should use Python's pkg_resources feature
which is designed for this purpose.

Update binman to use this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass 3 years ago
parent
commit
9fbfaba0a7
1 changed files with 4 additions and 2 deletions
  1. 4 2
      tools/binman/control.py

+ 4 - 2
tools/binman/control.py

@@ -8,6 +8,8 @@
 from collections import OrderedDict
 import glob
 import os
+import pkg_resources
+
 import sys
 from patman import tools
 
@@ -58,8 +60,8 @@ def GetEntryModules(include_testing=True):
     Returns:
         Set of paths to entry class filenames
     """
-    our_path = os.path.dirname(os.path.realpath(__file__))
-    glob_list = glob.glob(os.path.join(our_path, 'etype/*.py'))
+    glob_list = pkg_resources.resource_listdir(__name__, 'etype')
+    glob_list = [fname for fname in glob_list if fname.endswith('.py')]
     return set([os.path.splitext(os.path.basename(item))[0]
                 for item in glob_list
                 if include_testing or '_testing' not in item])