New submission from Gustavo J. A. M. Carneiro:

Often python extension modules define submodules like this:

static PyObject *
initfoo_xpto(void)
{
    PyObject *m;
    m = Py_InitModule3("foo.xpto", foo_xpto_functions, NULL);
    [...]
    return m;
}

PyMODINIT_FUNC
initfoo(void)
{
    PyObject *m;
    PyObject *submodule;
    m = Py_InitModule3("foo", foo_functions, NULL);
    [...]
    submodule = initfoo_xpto();
    Py_INCREF(submodule);
    PyModule_AddObject(m, "xpto", submodule);
}

Unfortunately pydoc does not list these submodules.  Attached patch
fixes it.

----------
components: Demos and Tools
files: pydoc-submodules.diff
messages: 59067
nosy: gustavo
severity: normal
status: open
title: Make pydoc list submodules
type: rfe
versions: Python 2.6
Added file: http://bugs.python.org/file9038/pydoc-submodules.diff

__________________________________
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1715>
__________________________________
Index: Lib/pydoc.py
===================================================================
--- Lib/pydoc.py	(revision 59634)
+++ Lib/pydoc.py	(working copy)
@@ -1064,6 +1064,14 @@
             result = result + self.section(
                 'PACKAGE CONTENTS', join(modpkgs, '\n'))
 
+        submodules = []
+        for key, value in inspect.getmembers(object, inspect.ismodule):
+            submodules.append(key)
+        if submodules:
+            submodules.sort()
+            result = result + self.section(
+                'SUBMODULES', join(submodules, '\n'))
+
         if classes:
             classlist = map(lambda (key, value): value, classes)
             contents = [self.formattree(
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to