From: Doug H. <dou...@us...> - 2002-12-08 16:24:36
|
Update of /cvsroot/happydoc/HappyDoc3/happydoclib/docset In directory sc8-pr-cvs1:/tmp/cvs-serv529/happydoclib/docset Modified Files: docset_MultiHTMLFile.py Log Message: Added method for writing a descriptive list. Added code to write TOC. References to contained files are listed, but they are not hyperlinks yet. Index: docset_MultiHTMLFile.py =================================================================== RCS file: /cvsroot/happydoc/HappyDoc3/happydoclib/docset/docset_MultiHTMLFile.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** docset_MultiHTMLFile.py 7 Dec 2002 17:03:13 -0000 1.4 --- docset_MultiHTMLFile.py 8 Dec 2002 16:24:33 -0000 1.5 *************** *** 189,213 **** text_format = 'StructuredText' - trace.write('looking for __init__.py') - node = packageTreeNode.get('__init__.py') - if node is not None: - trace.write('got __init__.py') - readme_text = node.module_info.getDocString() - readme_text = self._unquoteString(readme_text) - text_format = node.module_info.getDocStringFormat() - - if not readme_text: - for name in ('README.txt', 'README.stx'): - trace.write('looking for %s' % name) - node = packageTreeNode.get(name) - if node is not None: - input_filename = node.getInputFilename() - trace.write('got %s' % input_filename) - readme_text = open(input_filename, 'rt').read() - break trace.outof( (readme_text, text_format)) return (readme_text, text_format) ! def writeTOCFile(self, packageTreeNode): trace.into('MultiHTMLFile', 'writeTOCFile', --- 189,225 ---- text_format = 'StructuredText' trace.outof( (readme_text, text_format)) return (readme_text, text_format) ! ! def _writeDescriptiveList(self, output, descriptiveList): ! output.write('<!-- _writeDescriptiveList -->\n') ! output.write('<table border="0" cellpadding="3" cellspacing="0">\n') ! ! for name, text, text_format in descriptiveList: ! ! output.write(''' ! <tr> ! <td>%(name)s</td> ! <td>''' % locals()) ! ! self.writeText(output, text, text_format) ! ! output.write('''</td> ! </tr> ! ''') ! ! output.write('</table>') ! return ! ! def _writeTOCReferencesSection(self, output, packageTreeNode, title, moduleList): ! descriptive_list = [ (name,) + node.getSummaryAndFormat() ! for name, node in moduleList ] ! if descriptive_list: ! output.write('<h4>%s</h4>\n' % title) ! descriptive_list.sort() ! self._writeDescriptiveList(output, descriptive_list) ! return ! def writeTOCFile(self, packageTreeNode): trace.into('MultiHTMLFile', 'writeTOCFile', *************** *** 219,226 **** output = self.openOutput(output_filename) ! readme_text, text_format = self._getReadmeTextForDirectory(packageTreeNode) ! self.writeText(output, readme_text, text_format) self.closeOutput(output) --- 231,300 ---- output = self.openOutput(output_filename) ! # ! # Description ! # ! readme_text, text_format = packageTreeNode.getDocStringAndFormat() self.writeText(output, readme_text, text_format) + + # + # Content from __init__.py + # + try: + init_node = packageTreeNode['__init__.py'] + except KeyError: + pass + else: + self._writePythonFileInfoToOutput(output, init_node) + + # + # Group contained modules by mimetype + # + contained_modules = packageTreeNode.items() + contained_modules_map = {} + for name, node in contained_modules: + mimetype, encoding = node.getMimeType() + set = contained_modules_map.setdefault(mimetype, []) + set.append( (name, node) ) + + #output.write('Summary\n') + #descriptive_list = [ (name, str(len(set)), 'StructuredText') for name, set in contained_modules_map.items() ] + #descriptive_list.sort() + #self._writeDescriptiveList(output, descriptive_list) + + # + # Write out references to text files we would have + # converted. + # + plain_text_files = contained_modules_map.get('text/plain', []) + structured_text_files = contained_modules_map.get('text/x-structured', []) + text_files = plain_text_files + structured_text_files + self._writeTOCReferencesSection( + output, + packageTreeNode, + 'Text files', + text_files, + ) + + # + # Write out references to Python files we parsed. + # + self._writeTOCReferencesSection( + output, + packageTreeNode, + 'Python files', + contained_modules_map.get('text/x-python', []), + ) + + # + # Write out references to subdirectories + # + self._writeTOCReferencesSection( + output, + packageTreeNode, + 'Subdirectories', + contained_modules_map.get(None, []), + ) + self.closeOutput(output) *************** *** 228,231 **** --- 302,322 ---- return + def _writePythonFileInfoToOutput(self, output, packageTreeNode): + """Writes part of the Python file information to the output stream. + """ + # + # Imports + # + + # + # Functions + # + + # + # Classes + # + return + + def writePythonFile(self, packageTreeNode): trace.into('MultiHTMLFileDocSet', 'writePythonFile', *************** *** 252,258 **** )) ! output_file = self.openOutput(output_filename) ! output_file.write('\n') ! self.closeOutput(output_file) trace.outof() --- 343,359 ---- )) ! output = self.openOutput(output_filename) ! ! # ! # Summary/module docstring ! # ! readme_text = packageTreeNode.module_info.getDocString() ! readme_text = self._unquoteString(readme_text) ! text_format = packageTreeNode.module_info.getDocStringFormat() ! self.writeText(output, readme_text, text_format) ! ! self._writePythonFileInfoToOutput(output, packageTreeNode) ! ! self.closeOutput(output) trace.outof() |