diff options
author | PJ Eby <distutils-sig@python.org> | 2005-06-14 15:29:41 +0000 |
---|---|---|
committer | PJ Eby <distutils-sig@python.org> | 2005-06-14 15:29:41 +0000 |
commit | 6c25a62d1e94ac73189cd997f86a8aa18ee761b3 (patch) | |
tree | 0ccb8bb5ef5773acede8d68c71bd3fa79d455f12 | |
parent | a085f6619ea0c1d19db412fd10741bae3f13ecfb (diff) | |
download | external_python_setuptools-6c25a62d1e94ac73189cd997f86a8aa18ee761b3.tar.gz external_python_setuptools-6c25a62d1e94ac73189cd997f86a8aa18ee761b3.tar.bz2 external_python_setuptools-6c25a62d1e94ac73189cd997f86a8aa18ee761b3.zip |
Fix more zipped-egg directory resource bugs reported by Ryan Tomayko.
--HG--
branch : setuptools
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041063
-rw-r--r-- | pkg_resources.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/pkg_resources.py b/pkg_resources.py index 53e42b0a..30c430c9 100644 --- a/pkg_resources.py +++ b/pkg_resources.py @@ -738,7 +738,7 @@ class ZipProvider(DefaultProvider): def _extract_resource(self, manager, resource_name): if self.resource_isdir(resource_name): - return self._extract_directory(resource_name) + return self._extract_directory(manager, resource_name) parts = resource_name.split('/') zip_path = os.path.join(self.module_path, *parts) @@ -801,23 +801,23 @@ class ZipProvider(DefaultProvider): return self._short_name(path) in self.zipinfo or self._isdir(path) def _isdir(self,path): - path = self._short_name(path).replace(os.sep, '/') - if path.endswith('/'): path = path[:-1] - return path in self._index() + return self._dir_name(path) in self._index() def _listdir(self,path): - path = self._short_name(path).replace(os.sep, '/') + return list(self._index().get(self._dir_name(path), ())) + + def _dir_name(self,path): + if path.startswith(self.module_path+os.sep): + path = path[len(self.module_path+os.sep):] + path = path.replace(os.sep,'/') if path.endswith('/'): path = path[:-1] - return list(self._index().get(path, ())) + return path _get = NullProvider._get - register_loader_type(zipimport.zipimporter, ZipProvider) - - class PathMetadata(DefaultProvider): """Metadata provider for egg directories |