mirror of
https://github.com/python/cpython.git
synced 2025-08-03 08:34:29 +00:00

svn+ssh://pythondev@svn.python.org/python/trunk ........ r59606 | georg.brandl | 2007-12-29 11:57:00 +0100 (Sat, 29 Dec 2007) | 2 lines Some cleanup in the docs. ........ r59611 | martin.v.loewis | 2007-12-29 19:49:21 +0100 (Sat, 29 Dec 2007) | 2 lines Bug #1699: Define _BSD_SOURCE only on OpenBSD. ........ r59612 | raymond.hettinger | 2007-12-29 23:09:34 +0100 (Sat, 29 Dec 2007) | 1 line Simpler documentation for itertools.tee(). Should be backported. ........ r59613 | raymond.hettinger | 2007-12-29 23:16:24 +0100 (Sat, 29 Dec 2007) | 1 line Improve docs for itertools.groupby(). The use of xrange(0) to create a unique object is less obvious than object(). ........ r59620 | christian.heimes | 2007-12-31 15:47:07 +0100 (Mon, 31 Dec 2007) | 3 lines Added wininst-9.0.exe executable for VS 2008 Integrated bdist_wininst into PCBuild9 directory ........ r59621 | christian.heimes | 2007-12-31 15:51:18 +0100 (Mon, 31 Dec 2007) | 1 line Moved PCbuild directory to PC/VS7.1 ........ r59622 | christian.heimes | 2007-12-31 15:59:26 +0100 (Mon, 31 Dec 2007) | 1 line Fix paths for build bot ........ r59623 | christian.heimes | 2007-12-31 16:02:41 +0100 (Mon, 31 Dec 2007) | 1 line Fix paths for build bot, part 2 ........ r59624 | christian.heimes | 2007-12-31 16:18:55 +0100 (Mon, 31 Dec 2007) | 1 line Renamed PCBuild9 directory to PCBuild ........
112 lines
3.4 KiB
ReStructuredText
112 lines
3.4 KiB
ReStructuredText
|
|
:mod:`pyclbr` --- Python class browser support
|
|
==============================================
|
|
|
|
.. module:: pyclbr
|
|
:synopsis: Supports information extraction for a Python class browser.
|
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
|
|
|
|
|
The :mod:`pyclbr` can be used to determine some limited information about the
|
|
classes, methods and top-level functions defined in a module. The information
|
|
provided is sufficient to implement a traditional three-pane class browser. The
|
|
information is extracted from the source code rather than by importing the
|
|
module, so this module is safe to use with untrusted source code. This
|
|
restriction makes it impossible to use this module with modules not implemented
|
|
in Python, including many standard and optional extension modules.
|
|
|
|
|
|
.. function:: readmodule(module[, path])
|
|
|
|
Read a module and return a dictionary mapping class names to class descriptor
|
|
objects. The parameter *module* should be the name of a module as a string;
|
|
it may be the name of a module within a package. The *path* parameter should
|
|
be a sequence, and is used to augment the value of ``sys.path``, which is
|
|
used to locate module source code.
|
|
|
|
.. The 'inpackage' parameter appears to be for internal use only....
|
|
|
|
|
|
.. function:: readmodule_ex(module[, path])
|
|
|
|
Like :func:`readmodule`, but the returned dictionary, in addition to mapping
|
|
class names to class descriptor objects, also maps top-level function names to
|
|
function descriptor objects. Moreover, if the module being read is a package,
|
|
the key ``'__path__'`` in the returned dictionary has as its value a list which
|
|
contains the package search path.
|
|
|
|
.. The 'inpackage' parameter appears to be for internal use only....
|
|
|
|
|
|
.. _pyclbr-class-objects:
|
|
|
|
Class Descriptor Objects
|
|
------------------------
|
|
|
|
The class descriptor objects used as values in the dictionary returned by
|
|
:func:`readmodule` and :func:`readmodule_ex` provide the following data members:
|
|
|
|
|
|
.. attribute:: class_descriptor.module
|
|
|
|
The name of the module defining the class described by the class descriptor.
|
|
|
|
|
|
.. attribute:: class_descriptor.name
|
|
|
|
The name of the class.
|
|
|
|
|
|
.. attribute:: class_descriptor.super
|
|
|
|
A list of class descriptors which describe the immediate base classes of the
|
|
class being described. Classes which are named as superclasses but which are
|
|
not discoverable by :func:`readmodule` are listed as a string with the class
|
|
name instead of class descriptors.
|
|
|
|
|
|
.. attribute:: class_descriptor.methods
|
|
|
|
A dictionary mapping method names to line numbers.
|
|
|
|
|
|
.. attribute:: class_descriptor.file
|
|
|
|
Name of the file containing the ``class`` statement defining the class.
|
|
|
|
|
|
.. attribute:: class_descriptor.lineno
|
|
|
|
The line number of the ``class`` statement within the file named by
|
|
:attr:`file`.
|
|
|
|
|
|
.. _pyclbr-function-objects:
|
|
|
|
Function Descriptor Objects
|
|
---------------------------
|
|
|
|
The function descriptor objects used as values in the dictionary returned by
|
|
:func:`readmodule_ex` provide the following data members:
|
|
|
|
|
|
.. attribute:: function_descriptor.module
|
|
|
|
The name of the module defining the function described by the function
|
|
descriptor.
|
|
|
|
|
|
.. attribute:: function_descriptor.name
|
|
|
|
The name of the function.
|
|
|
|
|
|
.. attribute:: function_descriptor.file
|
|
|
|
Name of the file containing the ``def`` statement defining the function.
|
|
|
|
|
|
.. attribute:: function_descriptor.lineno
|
|
|
|
The line number of the ``def`` statement within the file named by :attr:`file`.
|
|
|