annotate tools/mdx_nl2br.py @ 515:ae89ba801e8b

For #194, convert the POTD management command to a celery task. Refactored to put the logic for the command into a function, and the command simply calls this function. The task can also just call this function. Added some basic tests for the new function.
author Brian Neal <bgneal@gmail.com>
date Wed, 14 Dec 2011 02:41:15 +0000
parents f54bf3b3bece
children
rev   line source
bgneal@356 1 """
bgneal@356 2 A python-markdown extension to treat newlines as hard breaks; like
bgneal@356 3 StackOverflow and GitHub flavored Markdown do.
bgneal@356 4
bgneal@356 5 """
bgneal@356 6 import markdown
bgneal@356 7
bgneal@356 8
bgneal@356 9 BR_RE = r'\n'
bgneal@356 10
bgneal@356 11 class Nl2BrExtension(markdown.Extension):
bgneal@356 12
bgneal@356 13 def extendMarkdown(self, md, md_globals):
bgneal@356 14 br_tag = markdown.inlinepatterns.SubstituteTagPattern(BR_RE, 'br')
bgneal@356 15 md.inlinePatterns.add('nl', br_tag, '_end')
bgneal@356 16
bgneal@356 17
bgneal@356 18 def makeExtension(configs=None):
bgneal@356 19 return Nl2BrExtension(configs)