summaryrefslogtreecommitdiff
path: root/pkg_resources
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2016-01-31 04:24:04 -0500
committerJason R. Coombs <jaraco@jaraco.com>2016-01-31 04:24:04 -0500
commitd16b24ef68298295224f078c96fcbf732aa0dacc (patch)
tree7c46aa2ec69183c9fa645b14cffea3fe408256bc /pkg_resources
parenteca386ea886913f115a4a4456702a838515a7e7e (diff)
downloadpython-setuptools-git-d16b24ef68298295224f078c96fcbf732aa0dacc.tar.gz
Extract function _rebuild_mod_path
Diffstat (limited to 'pkg_resources')
-rw-r--r--pkg_resources/__init__.py26
1 files changed, 16 insertions, 10 deletions
diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py
index f15becbb..3398a56b 100644
--- a/pkg_resources/__init__.py
+++ b/pkg_resources/__init__.py
@@ -2183,18 +2183,24 @@ def _handle_ns(packageName, path_item):
path = module.__path__
path.append(subpath)
loader.load_module(packageName)
+ _rebuild_mod_path(path, packageName, module)
+ return subpath
- # Rebuild mod.__path__ ensuring that all entries are ordered
- # corresponding to their sys.path order
- sys_path= [(p and _normalize_cached(p) or p) for p in sys.path]
- def sort_key(p):
- parts = p.split(os.sep)
- parts = parts[:-(packageName.count('.') + 1)]
- return sys_path.index(_normalize_cached(os.sep.join(parts)))
- path.sort(key=sort_key)
- module.__path__[:] = [_normalize_cached(p) for p in path]
- return subpath
+def _rebuild_mod_path(orig_path, package_name, module):
+ """
+ Rebuild module.__path__ ensuring that all entries are ordered
+ corresponding to their sys.path order
+ """
+ sys_path= [(p and _normalize_cached(p) or p) for p in sys.path]
+ def sort_key(p):
+ parts = p.split(os.sep)
+ parts = parts[:-(package_name.count('.') + 1)]
+ return sys_path.index(_normalize_cached(os.sep.join(parts)))
+
+ orig_path.sort(key=sort_key)
+ module.__path__[:] = [_normalize_cached(p) for p in orig_path]
+
def declare_namespace(packageName):
"""Declare that package 'packageName' is a namespace package"""