/usr/lib/python2.6/site-packages/markdown
NameSizeModeActions
extensions/-0755rm
blockparser.py33580644editdlrm
blockparser.pyc46080644editdlrm
blockparser.pyo46080644editdlrm
blockprocessors.py177690644editdlrm
blockprocessors.pyc172630644editdlrm
blockprocessors.pyo172630644editdlrm
commandline.py35340644editdlrm
commandline.pyc32050644editdlrm
commandline.pyo32050644editdlrm
etree_loader.py12870644editdlrm
etree_loader.pyc12120644editdlrm
etree_loader.pyo12120644editdlrm
html4.py96720644editdlrm
html4.pyc70650644editdlrm
html4.pyo70190644editdlrm
inlinepatterns.py121790644editdlrm
inlinepatterns.pyc159520644editdlrm
inlinepatterns.pyo159520644editdlrm
odict.py51570644editdlrm
odict.pyc73960644editdlrm
odict.pyo73960644editdlrm
postprocessors.py24710644editdlrm
postprocessors.pyc36930644editdlrm
postprocessors.pyo36930644editdlrm
preprocessors.py71400644editdlrm
preprocessors.pyc74130644editdlrm
preprocessors.pyo74130644editdlrm
treeprocessors.py114320644editdlrm
treeprocessors.pyc110830644editdlrm
treeprocessors.pyo110830644editdlrm
__init__.py214960644editdlrm
__init__.pyc181510644editdlrm
__init__.pyo181510644editdlrm
Edit: /usr/lib/python2.6/site-packages/markdown/postprocessors.py (2471B)
""" POST-PROCESSORS ============================================================================= Markdown also allows post-processors, which are similar to preprocessors in that they need to implement a "run" method. However, they are run after core processing. """ import markdown class Processor: def __init__(self, markdown_instance=None): if markdown_instance: self.markdown = markdown_instance class Postprocessor(Processor): """ Postprocessors are run after the ElementTree it converted back into text. Each Postprocessor implements a "run" method that takes a pointer to a text string, modifies it as necessary and returns a text string. Postprocessors must extend markdown.Postprocessor. """ def run(self, text): """ Subclasses of Postprocessor should implement a `run` method, which takes the html document as a single text string and returns a (possibly modified) string. """ pass class RawHtmlPostprocessor(Postprocessor): """ Restore raw html to the document. """ def run(self, text): """ Iterate over html stash and restore "safe" html. """ for i in range(self.markdown.htmlStash.html_counter): html, safe = self.markdown.htmlStash.rawHtmlBlocks[i] if self.markdown.safeMode and not safe: if str(self.markdown.safeMode).lower() == 'escape': html = self.escape(html) elif str(self.markdown.safeMode).lower() == 'remove': html = '' else: html = markdown.HTML_REMOVED_TEXT if safe or not self.markdown.safeMode: text = text.replace("

%s

" % (markdown.preprocessors.HTML_PLACEHOLDER % i), html + "\n") text = text.replace(markdown.preprocessors.HTML_PLACEHOLDER % i, html) return text def escape(self, html): """ Basic html escaping """ html = html.replace('&', '&') html = html.replace('<', '<') html = html.replace('>', '>') return html.replace('"', '"') class AndSubstitutePostprocessor(Postprocessor): """ Restore valid entities """ def __init__(self): pass def run(self, text): text = text.replace(markdown.AMP_SUBSTITUTE, "&") return text