diff options
| author | Tom Christie | 2011-04-29 14:32:56 +0100 |
|---|---|---|
| committer | Tom Christie | 2011-04-29 14:32:56 +0100 |
| commit | b358fbdbe9cbd4ce644c4b2c7b9b4cec0811e14e (patch) | |
| tree | 601e5576995809b74f914cafcee8a7a8cd9c6937 /djangorestframework/markdownwrapper.py | |
| parent | 93aa065fa92f64472a3ee80564020a81776be742 (diff) | |
| download | django-rest-framework-b358fbdbe9cbd4ce644c4b2c7b9b4cec0811e14e.tar.bz2 | |
More refactoring - move various less core stuff into utils etc
Diffstat (limited to 'djangorestframework/markdownwrapper.py')
| -rw-r--r-- | djangorestframework/markdownwrapper.py | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/djangorestframework/markdownwrapper.py b/djangorestframework/markdownwrapper.py deleted file mode 100644 index 70512440..00000000 --- a/djangorestframework/markdownwrapper.py +++ /dev/null @@ -1,51 +0,0 @@ -"""If python-markdown is installed expose an apply_markdown(text) function, -to convert markeddown text into html. Otherwise just set apply_markdown to None. - -See: http://www.freewisdom.org/projects/python-markdown/ -""" - -__all__ = ['apply_markdown'] - -try: - import markdown - import re - - class CustomSetextHeaderProcessor(markdown.blockprocessors.BlockProcessor): - """Override markdown's SetextHeaderProcessor, so that ==== headers are <h2> and ---- headers are <h3>. - - We use <h1> for the resource name.""" - - # Detect Setext-style header. Must be first 2 lines of block. - RE = re.compile(r'^.*?\n[=-]{3,}', re.MULTILINE) - - def test(self, parent, block): - return bool(self.RE.match(block)) - - def run(self, parent, blocks): - lines = blocks.pop(0).split('\n') - # Determine level. ``=`` is 1 and ``-`` is 2. - if lines[1].startswith('='): - level = 2 - else: - level = 3 - h = markdown.etree.SubElement(parent, 'h%d' % level) - h.text = lines[0].strip() - if len(lines) > 2: - # Block contains additional lines. Add to master blocks for later. - blocks.insert(0, '\n'.join(lines[2:])) - - def apply_markdown(text): - """Simple wrapper around markdown.markdown to apply our CustomSetextHeaderProcessor, - and also set the base level of '#' style headers to <h2>.""" - extensions = ['headerid(level=2)'] - safe_mode = False, - output_format = markdown.DEFAULT_OUTPUT_FORMAT - - md = markdown.Markdown(extensions=markdown.load_extensions(extensions), - safe_mode=safe_mode, - output_format=output_format) - md.parser.blockprocessors['setextheader'] = CustomSetextHeaderProcessor(md.parser) - return md.convert(text) - -except: - apply_markdown = None
\ No newline at end of file |
