| 
									
										
										
										
											1999-02-18 21:06:50 +00:00
										 |  |  | \section{\module{pyclbr} --- | 
					
						
							| 
									
										
										
										
											1999-04-20 18:18:53 +00:00
										 |  |  |          Python class browser support} | 
					
						
							| 
									
										
										
										
											1999-02-18 21:06:50 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | \declaremodule{standard}{pyclbr} | 
					
						
							|  |  |  | \modulesynopsis{Supports information extraction for a Python class | 
					
						
							| 
									
										
										
										
											1999-04-20 18:18:53 +00:00
										 |  |  |                 browser.} | 
					
						
							| 
									
										
										
										
											1999-02-18 21:06:50 +00: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 | 
					
						
							| 
									
										
										
										
											1999-06-29 15:43:02 +00:00
										 |  |  | 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. | 
					
						
							| 
									
										
										
										
											1999-02-18 21:06:50 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \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 18:18:53 +00:00
										 |  |  | \begin{memberdesc}[class descriptor]{module} | 
					
						
							|  |  |  |   The name of the module defining the class described by the class | 
					
						
							|  |  |  |   descriptor. | 
					
						
							|  |  |  | \end{memberdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-02-18 21:06:50 +00: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} |