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>
This commit is contained in:
Simon Glass 2020-08-29 11:36:14 -06:00
parent fe05701b05
commit 9fbfaba0a7
1 changed files with 4 additions and 2 deletions

View File

@ -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])