diff options
author | luxagraf <sng@luxagraf.net> | 2018-05-09 09:39:48 -0400 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2018-05-09 09:39:48 -0400 |
commit | d2db3633ccdc70098b04eea25492327bcb82b685 (patch) | |
tree | 82f3dc2e7b8ef7a8fca3d7bb74232d70c36c5593 /app/notes/mdx_urlize.py | |
parent | 1ac6c0b6fb2f0e0f8a92fbedf39eb39e7fa7676f (diff) |
Changed Notes app to be simpler
Diffstat (limited to 'app/notes/mdx_urlize.py')
-rw-r--r-- | app/notes/mdx_urlize.py | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/app/notes/mdx_urlize.py b/app/notes/mdx_urlize.py deleted file mode 100644 index dc8d1d7..0000000 --- a/app/notes/mdx_urlize.py +++ /dev/null @@ -1,81 +0,0 @@ -"""A more liberal autolinker - -Inspired by Django's urlize function. - -Positive examples: - ->>> import markdown ->>> md = markdown.Markdown(extensions=['urlize']) - ->>> md.convert('http://example.com/') -u'<p><a href="http://example.com/">http://example.com/</a></p>' - ->>> md.convert('go to http://example.com') -u'<p>go to <a href="http://example.com">http://example.com</a></p>' - ->>> md.convert('example.com') -u'<p><a href="http://example.com">example.com</a></p>' - ->>> md.convert('example.net') -u'<p><a href="http://example.net">example.net</a></p>' - ->>> md.convert('www.example.us') -u'<p><a href="http://www.example.us">www.example.us</a></p>' - ->>> md.convert('(www.example.us/path/?name=val)') -u'<p>(<a href="http://www.example.us/path/?name=val">www.example.us/path/?name=val</a>)</p>' - ->>> md.convert('go to <http://example.com> now!') -u'<p>go to <a href="http://example.com">http://example.com</a> now!</p>' - -Negative examples: - ->>> md.convert('del.icio.us') -u'<p>del.icio.us</p>' - -""" - -import markdown - -# Global Vars -URLIZE_RE = '(%s)' % '|'.join([ - r'<(?:f|ht)tps?://[^>]*>', - r'\b(?:f|ht)tps?://[^)<>\s]+[^.,)<>\s]', - r'\bwww\.[^)<>\s]+[^.,)<>\s]', - r'[^(<\s]+\.(?:com|net|org)\b', -]) - -class UrlizePattern(markdown.inlinepatterns.Pattern): - """ Return a link Element given an autolink (`http://example/com`). """ - def handleMatch(self, m): - url = m.group(2) - - if url.startswith('<'): - url = url[1:-1] - - text = url - - if not url.split('://')[0] in ('http','https','ftp'): - if '@' in url and not '/' in url: - url = 'mailto:' + url - else: - url = 'http://' + url - - el = markdown.util.etree.Element("a") - el.set('href', url) - el.text = markdown.util.AtomicString(text) - return el - -class UrlizeExtension(markdown.Extension): - """ Urlize Extension for Python-Markdown. """ - - def extendMarkdown(self, md, md_globals): - """ Replace autolink with UrlizePattern """ - md.inlinePatterns['autolink'] = UrlizePattern(URLIZE_RE, md) - -def makeExtension(configs=None): - return UrlizeExtension(configs=configs) - -if __name__ == "__main__": - import doctest - doctest.testmod() |