1999-02-18 17:06:50 -04:00
|
|
|
\section{\module{pyclbr} ---
|
1999-04-20 15:18:53 -03:00
|
|
|
Python class browser support}
|
1999-02-18 17:06:50 -04:00
|
|
|
|
|
|
|
\declaremodule{standard}{pyclbr}
|
|
|
|
\modulesynopsis{Supports information extraction for a Python class
|
1999-04-20 15:18:53 -03:00
|
|
|
browser.}
|
1999-02-18 17:06:50 -04:00
|
|
|
\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
|
|
|
|
|
|
|
|
|
|
|
|
The \module{pyclbr} can be used to determine some limited information
|
|
|
|
about the classes and methods 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 from an imported module, so this module is safe to use with
|
|
|
|
untrusted source code.
|
|
|
|
|
|
|
|
|
|
|
|
\begin{funcdesc}{readmodule}{module\optional{, path}}
|
|
|
|
% The 'inpackage' parameter appears to be for internal use only....
|
|
|
|
Read a module and return a dictionary mapping class names to class
|
|
|
|
descriptor objects. The parameter \var{module} should be the name
|
|
|
|
of a module as a string; it may be the name of a module within a
|
|
|
|
package. The \var{path} parameter should be a sequence, and is used
|
|
|
|
to augment the value of \code{sys.path}, which is used to locate
|
|
|
|
module source code.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{Class Descriptor Objects \label{pyclbr-class-objects}}
|
|
|
|
|
|
|
|
The class descriptor objects used as values in the dictionary returned
|
|
|
|
by \function{readmodule()} provide the following data members:
|
|
|
|
|
|
|
|
|
1999-04-20 15:18:53 -03:00
|
|
|
\begin{memberdesc}[class descriptor]{module}
|
|
|
|
The name of the module defining the class described by the class
|
|
|
|
descriptor.
|
|
|
|
\end{memberdesc}
|
|
|
|
|
1999-02-18 17:06:50 -04:00
|
|
|
\begin{memberdesc}[class descriptor]{name}
|
|
|
|
The name of the class.
|
|
|
|
\end{memberdesc}
|
|
|
|
|
|
|
|
\begin{memberdesc}[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
|
|
|
|
\function{readmodule()} are listed as a string with the class name
|
|
|
|
instead of class descriptors.
|
|
|
|
\end{memberdesc}
|
|
|
|
|
|
|
|
\begin{memberdesc}[class descriptor]{methods}
|
|
|
|
A dictionary mapping method names to line numbers.
|
|
|
|
\end{memberdesc}
|
|
|
|
|
|
|
|
\begin{memberdesc}[class descriptor]{file}
|
|
|
|
Name of the file containing the class statement defining the class.
|
|
|
|
\end{memberdesc}
|
|
|
|
|
|
|
|
\begin{memberdesc}[class descriptor]{lineno}
|
|
|
|
The line number of the class statement within the file named by
|
|
|
|
\member{file}.
|
|
|
|
\end{memberdesc}
|