diff options
| author | Chris McDonough <chrism@agendaless.com> | 2010-08-10 16:23:51 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2010-08-10 16:23:51 +0000 |
| commit | 3c2ed7f1aac4b88fba1c6ee4721ab11c0b3251ed (patch) | |
| tree | 36a1562ec7e5e4ee817ca333dcce36d65f2f50d1 | |
| parent | 1e0e9bfb294dbd91e1415872fe5e2957421b182e (diff) | |
| download | pyramid-3c2ed7f1aac4b88fba1c6ee4721ab11c0b3251ed.tar.gz pyramid-3c2ed7f1aac4b88fba1c6ee4721ab11c0b3251ed.tar.bz2 pyramid-3c2ed7f1aac4b88fba1c6ee4721ab11c0b3251ed.zip | |
use imp.get_suffixes indirection for package file names
| -rw-r--r-- | repoze/bfg/path.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/repoze/bfg/path.py b/repoze/bfg/path.py index 0afdf777d..bb27e556a 100644 --- a/repoze/bfg/path.py +++ b/repoze/bfg/path.py @@ -1,6 +1,11 @@ import os import pkg_resources import sys +import imp + +ignore_types = [ imp.C_EXTENSION, imp.C_BUILTIN ] +init_names = [ '__init__%s' % x[0] for x in imp.get_suffixes() if + x[0] and x[2] not in ignore_types ] def caller_path(path, level=2): if not os.path.isabs(path): @@ -25,7 +30,7 @@ def package_name(pkg_or_module): pkg_filename = pkg_or_module.__file__ pkg_name = pkg_or_module.__name__ splitted = os.path.split(pkg_filename) - if splitted[-1] in ('__init__.py', '__init__.pyc', '__init__.pyo'): + if splitted[-1] in init_names: # it's a package return pkg_name return pkg_name.rsplit('.', 1)[0] |
