]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
When looking for things that might be modules, include *module.c from
authorFred Drake <fdrake@acm.org>
Thu, 17 Jun 1999 18:49:18 +0000 (18:49 +0000)
committerFred Drake <fdrake@acm.org>
Thu, 17 Jun 1999 18:49:18 +0000 (18:49 +0000)
the Modules/ directory.  Most of the remaining undocumented modules
seem to be living there.

Doc/tools/listmodules

index e0c4fc600e7894e49bba7c36a81dba0ece8f2f19..7751a9e64a41aea17abad7a4f0f06ccc59fa3038 100755 (executable)
@@ -25,6 +25,7 @@ Limitation:  Modules loadable as shared objects are not listed.
 __version__ = '$Revision$'
 
 import getopt
+import glob
 import os
 import re
 import string
@@ -76,7 +77,6 @@ def main():
     srcdir = os.path.normpath(os.path.join(
         os.path.dirname(sys.argv[0]), os.pardir, os.pardir))
     os.chdir(srcdir)
-    fp = os.popen("find Lib -name \*.py -print", "r")
     modules_by_name = {}
     modules_by_dir = {}
     if builtin:
@@ -87,6 +87,7 @@ def main():
                 modules_by_name[name] = "<built-in>"
                 l.append(name)
     rx = re.compile("Lib/plat-[a-z0-9]*/", re.IGNORECASE)
+    fp = os.popen("find Lib -name \*.py -print", "r")
     while 1:
         line = fp.readline()
         if not line:
@@ -105,6 +106,22 @@ def main():
             modules_by_dir[dir] = l
             if name not in l:
                 l.append(name)
+    # load up extension modules:
+    pwd = os.getcwd()
+    try:
+        os.chdir("Modules")
+        dir = "<extension>"
+        for line in glob.glob("*module.c"):
+            name = line[:-8]
+            if ignore(name) or modules_by_name.has_key(name) or name == "xx":
+                continue
+            modules_by_name[name] = dir
+            l = modules_by_dir.get(dir, [])
+            modules_by_dir[dir] = l
+            if name not in l:
+                l.append(name)
+    finally:
+        os.chdir(pwd)
     #
     # Dump the results:
     #