Update of /cvsroot/happydoc/HappyDoc3/happydoclib/docset/docset_TAL
In directory sc8-pr-cvs1:/tmp/cvs-serv1701/happydoclib/docset/docset_TAL
Modified Files:
__init__.py
Log Message:
Add renderTemplateToFile().
Implement writeTOCFile().
Implement processPlainTextFile().
Add a few utility methods for use by templates.
Index: __init__.py
===================================================================
RCS file: /cvsroot/happydoc/HappyDoc3/happydoclib/docset/docset_TAL/__init__.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** __init__.py 16 Mar 2003 16:27:44 -0000 1.2
--- __init__.py 16 Mar 2003 20:28:10 -0000 1.3
***************
*** 67,70 ****
--- 67,73 ----
from happydoclib.docset.docset_TAL.templateset import TemplateSet
+ from happydoclib.docstring import getConverterFactoryForFile, \
+ getConverterFactory
+
#
# Module
***************
*** 80,83 ****
--- 83,88 ----
"""
+ CONVERTER_HEADER_START_LEVEL = 2
+
DEFAULT_TEMPLATE_SET = 'default'
DEFAULT_TEMPLATE_PATH = os.path.join(os.path.dirname(__file__),
***************
*** 172,184 ****
return
! def renderTemplateToFile(self, template, outputFilename,
packageTreeNode,
**extraContext):
! rendered_text = template.render(extraContext)
output = self.openOutput(outputFilename, packageTreeNode)
! output.write(rendered_text)
! output.close()
return
--- 177,197 ----
return
! def renderTemplateToFile(self, template,
! outputFilename,
packageTreeNode,
**extraContext):
+
+ context = {}
+ context.update(extraContext)
+ context['node'] = packageTreeNode
+ context['docset'] = self
! rendered_text = template.render(context)
output = self.openOutput(outputFilename, packageTreeNode)
! try:
! output.write(rendered_text)
! finally:
! output.close()
return
***************
*** 202,205 ****
--- 215,221 ----
template = self.template_set['toc.pt']
+ readme_text, text_format = packageTreeNode.getDocStringAndFormat()
+ description = self.formatText(readme_text, text_format)
+
self.renderTemplateToFile(
template,
***************
*** 208,211 ****
--- 224,228 ----
title=self.title,
subtitle=packageTreeNode.getRelativeFilename(),
+ description=description,
)
***************
*** 238,243 ****
already exist.
"""
! self.statusMessage('processPlainTextFile needs work')
! raise NotImplementedError('processPlainTextFile')
return
--- 255,312 ----
already exist.
"""
! trace.into('TALDocset', 'processPlainTextFile',
! packageTreeNode=packageTreeNode,
! outputLevel=TRACE_LEVEL,
! )
!
! canonical_path = packageTreeNode.getPath(1)
! canonical_filename = apply(os.path.join, canonical_path)
! output_filename = self.getOutputFilenameForPackageTreeNode(
! packageTreeNode)
!
! self.statusMessage('Translating: "%s"\n to: "%s"' % (
! canonical_filename,
! output_filename,
! ))
!
! template = self.template_set['plain_text.pt']
!
! converter_factory = getConverterFactoryForFile(canonical_filename)
! converter = converter_factory()
!
! input_file = converter.getExternalDocumentationFile(canonical_filename)
!
! raw_body = str(input_file)
!
! cooked_body = converter.convert(raw_body, 'html', level=2)
!
! from happydoclib.docset.docset_TAL.TAL.HTMLParser import HTMLParseError
! try:
! self.renderTemplateToFile(
! template,
! output_filename,
! packageTreeNode,
! title=self.title,
! subtitle=packageTreeNode.getRelativeFilename(),
! raw_body=raw_body,
! cooked_body=cooked_body,
! )
! except HTMLParseError, msg:
! #
! # Could not handle cooked body.
! #
! self.warningMessage('Error converting %s' % canonical_filename)
! self.warningMessage('%s' % msg)
! self.renderTemplateToFile(
! template,
! output_filename,
! packageTreeNode,
! title=self.title,
! subtitle=packageTreeNode.getRelativeFilename(),
! raw_body=raw_body,
! cooked_body='<pre>\n%s\n</pre>\n' % raw_body,
! )
!
! trace.outof(outputLevel=TRACE_LEVEL)
return
***************
*** 248,252 ****
raise NotImplementedError('processPythonClass')
return
!
def entryPoint():
--- 317,341 ----
raise NotImplementedError('processPythonClass')
return
!
! ##
! ## METHODS USED BY TEMPLATES
! ##
!
! def getHREFToNode(self, source, destination):
! """Returns the HREF pointing to destination from the current node.
! """
! href = self._computeRelativeHREF(source, destination)
! return href
!
! def getPythonSubNodes(self, node):
! """Return a list of subnodes with mimetype text/x-python,
! filtering out __init__.py if it is present.
! """
! subnodes = node.getSubNodes(['text/x-python'])
! subnodes = filter(lambda x: x.getName() != '__init__.py',
! subnodes,
! )
! return subnodes
!
def entryPoint():
|