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) |