| \section{\module{pyclbr} --- |
| Python class browser support} |
| |
| \declaremodule{standard}{pyclbr} |
| \modulesynopsis{Supports information extraction for a Python class |
| browser.} |
| \sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org} |
| |
| |
| The \module{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. |
| |
| |
| \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} |
| |
| \begin{funcdesc}{readmodule_ex}{module\optional{, path}} |
| % The 'inpackage' parameter appears to be for internal use only.... |
| Like \function{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 \code{'__path__'} in the |
| returned dictionary has as its value a list which contains the package |
| search path. |
| \end{funcdesc} |
| |
| |
| \subsection{Class Descriptor Objects \label{pyclbr-class-objects}} |
| |
| The class descriptor objects used as values in the dictionary returned |
| by \function{readmodule()} and \function{readmodule_ex()} |
| provide the following data members: |
| |
| |
| \begin{memberdesc}[class descriptor]{module} |
| The name of the module defining the class described by the class |
| descriptor. |
| \end{memberdesc} |
| |
| \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 \code{class} statement defining the class. |
| \end{memberdesc} |
| |
| \begin{memberdesc}[class descriptor]{lineno} |
| The line number of the \code{class} statement within the file named by |
| \member{file}. |
| \end{memberdesc} |
| |
| \subsection{Function Descriptor Objects \label{pyclbr-function-objects}} |
| |
| The function descriptor objects used as values in the dictionary returned |
| by \function{readmodule_ex()} provide the following data members: |
| |
| |
| \begin{memberdesc}[function descriptor]{module} |
| The name of the module defining the function described by the function |
| descriptor. |
| \end{memberdesc} |
| |
| \begin{memberdesc}[function descriptor]{name} |
| The name of the function. |
| \end{memberdesc} |
| |
| \begin{memberdesc}[function descriptor]{file} |
| Name of the file containing the \code{def} statement defining the function. |
| \end{memberdesc} |
| |
| \begin{memberdesc}[function descriptor]{lineno} |
| The line number of the \code{def} statement within the file named by |
| \member{file}. |
| \end{memberdesc} |
| |