| Index: third_party/Python-Markdown/markdown/extensions/abbr.py
|
| diff --git a/third_party/Python-Markdown/markdown/extensions/abbr.py b/third_party/Python-Markdown/markdown/extensions/abbr.py
|
| deleted file mode 100644
|
| index 353d126f6f822987319f75dbfe85fd40c7b158a0..0000000000000000000000000000000000000000
|
| --- a/third_party/Python-Markdown/markdown/extensions/abbr.py
|
| +++ /dev/null
|
| @@ -1,91 +0,0 @@
|
| -'''
|
| -Abbreviation Extension for Python-Markdown
|
| -==========================================
|
| -
|
| -This extension adds abbreviation handling to Python-Markdown.
|
| -
|
| -See <https://pythonhosted.org/Markdown/extensions/abbreviations.html>
|
| -for documentation.
|
| -
|
| -Oringinal code Copyright 2007-2008 [Waylan Limberg](http://achinghead.com/) and
|
| - [Seemant Kulleen](http://www.kulleen.org/)
|
| -
|
| -All changes Copyright 2008-2014 The Python Markdown Project
|
| -
|
| -License: [BSD](http://www.opensource.org/licenses/bsd-license.php)
|
| -
|
| -'''
|
| -
|
| -from __future__ import absolute_import
|
| -from __future__ import unicode_literals
|
| -from . import Extension
|
| -from ..preprocessors import Preprocessor
|
| -from ..inlinepatterns import Pattern
|
| -from ..util import etree, AtomicString
|
| -import re
|
| -
|
| -# Global Vars
|
| -ABBR_REF_RE = re.compile(r'[*]\[(?P<abbr>[^\]]*)\][ ]?:\s*(?P<title>.*)')
|
| -
|
| -
|
| -class AbbrExtension(Extension):
|
| - """ Abbreviation Extension for Python-Markdown. """
|
| -
|
| - def extendMarkdown(self, md, md_globals):
|
| - """ Insert AbbrPreprocessor before ReferencePreprocessor. """
|
| - md.preprocessors.add('abbr', AbbrPreprocessor(md), '<reference')
|
| -
|
| -
|
| -class AbbrPreprocessor(Preprocessor):
|
| - """ Abbreviation Preprocessor - parse text for abbr references. """
|
| -
|
| - def run(self, lines):
|
| - '''
|
| - Find and remove all Abbreviation references from the text.
|
| - Each reference is set as a new AbbrPattern in the markdown instance.
|
| -
|
| - '''
|
| - new_text = []
|
| - for line in lines:
|
| - m = ABBR_REF_RE.match(line)
|
| - if m:
|
| - abbr = m.group('abbr').strip()
|
| - title = m.group('title').strip()
|
| - self.markdown.inlinePatterns['abbr-%s' % abbr] = \
|
| - AbbrPattern(self._generate_pattern(abbr), title)
|
| - else:
|
| - new_text.append(line)
|
| - return new_text
|
| -
|
| - def _generate_pattern(self, text):
|
| - '''
|
| - Given a string, returns an regex pattern to match that string.
|
| -
|
| - 'HTML' -> r'(?P<abbr>[H][T][M][L])'
|
| -
|
| - Note: we force each char as a literal match (in brackets) as we don't
|
| - know what they will be beforehand.
|
| -
|
| - '''
|
| - chars = list(text)
|
| - for i in range(len(chars)):
|
| - chars[i] = r'[%s]' % chars[i]
|
| - return r'(?P<abbr>\b%s\b)' % (r''.join(chars))
|
| -
|
| -
|
| -class AbbrPattern(Pattern):
|
| - """ Abbreviation inline pattern. """
|
| -
|
| - def __init__(self, pattern, title):
|
| - super(AbbrPattern, self).__init__(pattern)
|
| - self.title = title
|
| -
|
| - def handleMatch(self, m):
|
| - abbr = etree.Element('abbr')
|
| - abbr.text = AtomicString(m.group('abbr'))
|
| - abbr.set('title', self.title)
|
| - return abbr
|
| -
|
| -
|
| -def makeExtension(*args, **kwargs):
|
| - return AbbrExtension(*args, **kwargs)
|
|
|