73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
		
		
			
		
	
	
			73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
|  | import xml.etree.ElementTree as ET | ||
|  | 
 | ||
|  | 
 | ||
|  | class Doc(): | ||
|  |     def __init__(self, tree): | ||
|  |         self.tree = tree | ||
|  | 
 | ||
|  |     def get_tree(self): | ||
|  |         """Get this Doc's tree.
 | ||
|  | 
 | ||
|  |         Returns: | ||
|  |             The xml.etree.ElementTree object of the documentation. | ||
|  |         """
 | ||
|  |         return self.tree | ||
|  | 
 | ||
|  |     def __eq__(self, other): | ||
|  |         if other is None or other.get_tree() is None: | ||
|  |             return None | ||
|  | 
 | ||
|  |         return ET.tostring(self.tree.getroot()) == \ | ||
|  |             ET.tostring(other.get_tree().getroot()) | ||
|  | 
 | ||
|  | 
 | ||
|  | class ClassDoc(Doc): | ||
|  |     pass | ||
|  | 
 | ||
|  | 
 | ||
|  | class FreeDoc(Doc): | ||
|  |     pass | ||
|  | 
 | ||
|  | 
 | ||
|  | class Docs(): | ||
|  |     def __init__(self, class_docs, free_docs): | ||
|  |         # These are dicts that map file_path -> Doc | ||
|  |         self.class_docs = class_docs | ||
|  |         self.free_docs = free_docs | ||
|  | 
 | ||
|  |     def get_class_docs(self, class_name): | ||
|  |         '''Get the documentation for the class.
 | ||
|  | 
 | ||
|  |         Arguments: | ||
|  |         class_name -- the name of the class | ||
|  | 
 | ||
|  |         Returns: | ||
|  |         The ClassDoc with the class's documentation. None if the class does not | ||
|  |         exist. | ||
|  |         '''
 | ||
|  |         return self.class_docs.get(class_name) | ||
|  | 
 | ||
|  |     def get_free_docs(self, free_func_name): | ||
|  |         '''Get the documentation for a free function.
 | ||
|  | 
 | ||
|  |         Arguments: | ||
|  |         free_func_name -- the name of the free function | ||
|  | 
 | ||
|  |         Returns: | ||
|  |         The FreeDoc with the free function's documentation. None if the class | ||
|  |         does not exist. | ||
|  |         '''
 | ||
|  |         return self.free_docs.get(free_func_name) | ||
|  | 
 | ||
|  |     def get_class_docs_keys_list(self): | ||
|  |         return list(self.class_docs) | ||
|  | 
 | ||
|  |     def get_free_docs_keys_list(self): | ||
|  |         return list(self.free_docs) | ||
|  | 
 | ||
|  |     def get_class_docs_values_list(self): | ||
|  |         return list(self.class_docs.values()) | ||
|  | 
 | ||
|  |     def get_free_docs_values_list(self): | ||
|  |         return list(self.free_docs.values()) |