def fCompositeCookedBodyForElement(self, theElement, stx_level=None, setlevel=0, theTimeProfilingResults=None): if (theElement == None): return '\n<em>No Element</em><br/>\n\n' # From CMFDefault.Document.py see Products.PortalTransforms.Transforms.rest.py anEditableBody = self.fCompositeEditableBodyForElement(theElement) if not anEditableBody: return "\n<em>No EditableBody obtained for %s</em><br/>\n\n" % str( self) aCookedBody = HTML(anEditableBody, initial_header_level=1, input_encoding='utf-8', output_encoding='utf-8') if not anEditableBody: return "\n<em>Empty HTML obtained for CookedBody for %s</em>\n\n" % str( self) aCookedBodyReClassed = aCookedBody.replace('class="docutils"', 'class="listing"').replace( 'class="head"', 'class="nosort"') return aCookedBodyReClassed
def convert(self, orig, data, **kwargs): # do the format encoding = kwargs.get('encoding', 'utf-8') input_encoding = kwargs.get('input_encoding', encoding) output_encoding = kwargs.get('output_encoding', encoding) language = kwargs.get('language', 'en') warnings = kwargs.get('warnings', None) initial_header_level = int(self.config.get('initial_header_level', 2)) report_level = int(self.config.get('report_level', 2)) settings = {'documentclass': '', 'traceback': 1, } html = HTML(orig, input_encoding=input_encoding, output_encoding=output_encoding, language_code=language, initial_header_level=initial_header_level, report_level=report_level, warnings=warnings, settings=settings) html = html.replace(' class="document"', '', 1) data.setData(html) return data
def convert(self, orig, data, **kwargs): # do the format encoding = kwargs.get('encoding', 'utf-8') input_encoding = kwargs.get('input_encoding', encoding) output_encoding = kwargs.get('output_encoding', encoding) language = kwargs.get('language', 'en') warnings = kwargs.get('warnings', None) initial_header_level = int(self.config.get('initial_header_level', 2)) report_level = int(self.config.get('report_level', 2)) settings = { 'documentclass': '', 'traceback': 1, } html = HTML(orig, input_encoding=input_encoding, output_encoding=output_encoding, language_code=language, initial_header_level=initial_header_level, report_level=report_level, warnings=warnings, settings=settings) html = html.replace(' class="document"', '', 1) data.setData(html) return data
def transform(self, data, options=None): if self._validate(data) is None: return None header_level = self.header_level report_level = self.report_level language = self.language warnings = self.warnings if options: header_level = options.get('header_level', header_level) report_level = options.get('report_level', report_level) language = options.get('language', language) warnings = options.get('warnings', warnings) html = HTML(u''.join(data).encode('utf-8'), input_encoding='utf-8', output_encoding='utf-8', language_code=language, initial_header_level=header_level, report_level=report_level, warnings=warnings, settings=dict(documentclass='', traceback=1)) html = html.replace(' class="document"', '', 1) return TransformResult(StringIter(unicode(html, 'utf-8')))
def readMeHtml(self): """Renders README.txt (in rst) inside the page""" opd = os.path.dirname readme_path = os.path.join(os.path.abspath(opd(opd(__file__))), 'README.txt') readme_html = HTML(file(readme_path).read(), report_level=100) # No errors/warnings -> faster # F*****g header changes the base href, so we need to tweak all href="#..." actual_url = self.request.URL return readme_html.replace('href="#', 'href="%s#' % actual_url)
def fCookedBodyForElement(self, theTimeProfilingResults=None, theElement=None, stx_level=None, setlevel=0, theAdditionalParams=None): """Retrieve an HTML presentation of an element's content as a Textual view. """ if (theElement == None): return '\n<em>No Element</em><br/>\n\n' # From CMFDefault.Document.py see Products.PortalTransforms.Transforms.rest.py anEditableBody = self.fEditableBodyForElement(theTimeProfilingResults, theElement, theTimeProfilingResults) if not anEditableBody: return "\n<em>No EditableBody obtained for %s</em><br/>\n\n" % str( self) aCookedBody = HTML(anEditableBody, initial_header_level=1, input_encoding='utf-8', output_encoding='utf-8') if not anEditableBody: return "\n<em>Empty HTML obtained for CookedBody for %s</em>\n\n" % str( self) aCookedBodyReClassed = aCookedBody.replace('class="docutils"', 'class="listing"').replace( 'class="head"', 'class="nosort"') return aCookedBodyReClassed