123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- --- contrib/python/setuptools/py3/pkg_resources/__init__.py (revision 10490147)
- +++ contrib/python/setuptools/py3/pkg_resources/__init__.py (revision 10490148)
- @@ -3234,6 +3234,45 @@
- from library.python import resource
-
-
- +class UnionProvider(EmptyProvider):
- + def __init__(self, *pp):
- + self.module_path = [(p, p.module_path) for p in pp]
- +
- + def _has(self, path):
- + for p, pp in path:
- + if p._has(pp):
- + return True
- +
- + return False
- +
- + def _fn(self, base, resource_name):
- + return [(p, p._fn(pp, resource_name)) for p, pp in base]
- +
- + def _get(self, path):
- + for p, pp in path:
- + if p._has(pp):
- + return p._get(pp)
- +
- + raise IOError(path)
- +
- + def _itdir(self, path):
- + for p, pp in path:
- + if not p._isdir(pp):
- + continue
- + for np in p._listdir(pp):
- + yield np
- +
- + def _listdir(self, path):
- + return list(self._itdir(path))
- +
- + def _isdir(self, path):
- + for p, pp in path:
- + if p._has(pp):
- + return p._isdir(pp)
- +
- + return False
- +
- +
- class ResProvider(EmptyProvider):
- _resource_fs = {}
-
- @@ -3252,7 +3289,7 @@
- @staticmethod
- def from_module(module):
- if Y_PYTHON_SOURCE_ROOT:
- - return DefaultProvider(module)
- + return UnionProvider(DefaultProvider(module), ResProvider(module))
- else:
- return ResProvider(module)
-
|