[Checkins]
SVN: zope.introspector/trunk/src/zope/introspector/util.py
Factor out namespace package scanner.
Uli Fouquet
uli at gnufix.de
Fri Aug 1 21:20:55 EDT 2008
Log message for revision 89175:
Factor out namespace package scanner.
Changed:
U zope.introspector/trunk/src/zope/introspector/util.py
-=-
Modified: zope.introspector/trunk/src/zope/introspector/util.py
===================================================================
--- zope.introspector/trunk/src/zope/introspector/util.py 2008-08-01 22:34:06 UTC (rev 89174)
+++ zope.introspector/trunk/src/zope/introspector/util.py 2008-08-02 01:20:53 UTC (rev 89175)
@@ -36,18 +36,19 @@
Supports also namespace packages.
Supports also zipped eggs.
"""
- if not is_namespace_package(dotted_name):
- resources = pkg_resources.resource_listdir(dotted_name, '')
- result = []
- for res in resources:
- if res.startswith('.'):
- # Ignore hidden files and directories.
+ if is_namespace_package(dotted_name):
+ return get_namespace_package_items(dotted_name)
+ resources = pkg_resources.resource_listdir(dotted_name, '')
+ result = []
+ for res in resources:
+ if res.startswith('.'):
+ # Ignore hidden files and directories.
+ continue
+ if pkg_resources.resource_isdir(dotted_name, res):
+ if pkg_resources.resource_exists(
+ dotted_name + '.' + res, '__init__.py'):
+ result.append(res)
continue
- if pkg_resources.resource_isdir(dotted_name, res):
- if pkg_resources.resource_exists(
- dotted_name + '.' + res, '__init__.py'):
- result.append(res)
- continue
if not '.' in res:
continue
name, ext = res.rsplit('.', 1)
@@ -58,7 +59,10 @@
if ext.lower() in ['txt', 'rst', 'zcml']:
result.append(res)
return result
- # get subpackages from pkg_resources working set
+
+def get_namespace_package_items(dotted_name):
+ """Get subpackages of a namespace package.
+ """
ws = pkg_resources.working_set
pkg_names = []
for entry in ws.entry_keys.values():
More information about the Checkins
mailing list