SF #841977 - modulefinder fails to find extension modules in packages

The find_all_submodules() method in modulefinder only
looks for *.py, *.pyc, and *.pyo files.  Python
extension modules are only found if they are referenced
in import statements somewhere.

This patch uses the actual list from imp.get_suffixes().

Backported myself.
This commit is contained in:
Thomas Heller 2003-11-14 10:28:42 +00:00
parent 780c497972
commit aaf1c8dc9e
1 changed files with 6 additions and 1 deletions

View File

@ -210,7 +210,12 @@ class ModuleFinder:
if not m.__path__:
return
modules = {}
suffixes = [".py", ".pyc", ".pyo"]
# 'suffixes' used to be a list hardcoded to [".py", ".pyc", ".pyo"].
# But we must also collect Python extension modules - although
# we cannot separate normal dlls from Python extensions.
suffixes = []
for triple in imp.get_suffixes():
suffixes.append(triple[0])
for dir in m.__path__:
try:
names = os.listdir(dir)