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()
|