diff --git a/simplewiki/mdx_camelcase.py b/simplewiki/mdx_camelcase.py old mode 100644 new mode 100755 index 1b979520ab..3ec0c08fe2 --- a/simplewiki/mdx_camelcase.py +++ b/simplewiki/mdx_camelcase.py @@ -67,6 +67,13 @@ Dependencies: ''' import markdown +try: + # Markdown 2.1.0 changed from 2.0.3. We try importing the new version first, + # but import the 2.0.3 version if it fails + from markdown.util import etree +except: + from markdown import etree + class CamelCaseExtension(markdown.Extension): def __init__(self, configs): @@ -95,14 +102,14 @@ class CamelCaseExtension(markdown.Extension): class CamelCaseLinks(markdown.inlinepatterns.Pattern): def handleMatch(self, m) : if m.group('escape') == '\\': - a = markdown.etree.Element('a')#doc.createTextNode(m.group('camelcase')) + a = etree.Element('a')#doc.createTextNode(m.group('camelcase')) else : url = m.group('camelcase') #'%s%s%s'% (self.md.wiki_config['base_url'][0], \ #m.group('camelcase'), \ #self.md.wiki_config['end_url'][0]) label = m.group('camelcase').replace('_', ' ') - a = markdown.etree.Element('a') + a = etree.Element('a') a.set('href', url) a.text = label a.set('class', 'wikilink') diff --git a/simplewiki/mdx_circuit.py b/simplewiki/mdx_circuit.py old mode 100644 new mode 100755 index 95d0359253..efac721b7c --- a/simplewiki/mdx_circuit.py +++ b/simplewiki/mdx_circuit.py @@ -7,12 +7,16 @@ circuit:name becomes the circuit. ''' import simplewiki.settings as settings -import markdown -from markdown import etree_loader from djangomako.shortcuts import render_to_response, render_to_string -ElementTree=etree_loader.importETree() +import markdown +try: + # Markdown 2.1.0 changed from 2.0.3. We try importing the new version first, + # but import the 2.0.3 version if it fails + from markdown.util import etree +except: + from markdown import etree class CircuitExtension(markdown.Extension): def __init__(self, configs): @@ -32,9 +36,9 @@ class CircuitLink(markdown.inlinepatterns.Pattern): def handleMatch(self, m): name = m.group('name') if not name.isalnum(): - return ElementTree.fromstring("
Circuit name must be alphanumeric
") + return etree.fromstring("
Circuit name must be alphanumeric
") - return ElementTree.fromstring(render_to_string('show_circuit.html', {'name':name})) + return etree.fromstring(render_to_string('show_circuit.html', {'name':name})) def makeExtension(configs=None) : diff --git a/simplewiki/mdx_image.py b/simplewiki/mdx_image.py old mode 100644 new mode 100755 index 7f74a07550..956641baa7 --- a/simplewiki/mdx_image.py +++ b/simplewiki/mdx_image.py @@ -16,7 +16,15 @@ Requires Python-Markdown 1.6+ ''' import simplewiki.settings as settings + import markdown +try: + # Markdown 2.1.0 changed from 2.0.3. We try importing the new version first, + # but import the 2.0.3 version if it fails + from markdown.util import etree +except: + from markdown import etree + class ImageExtension(markdown.Extension): def __init__(self, configs): @@ -35,7 +43,7 @@ class ImageExtension(markdown.Extension): class ImageLink(markdown.inlinepatterns.Pattern): def handleMatch(self, m): - img = markdown.etree.Element('img') + img = etree.Element('img') proto = m.group('proto') or "http://" domain = m.group('domain') path = m.group('path') diff --git a/simplewiki/mdx_mathjax.py b/simplewiki/mdx_mathjax.py index 1afb3c9ed9..e694ca861e 100644 --- a/simplewiki/mdx_mathjax.py +++ b/simplewiki/mdx_mathjax.py @@ -1,6 +1,12 @@ # Source: https://github.com/mayoff/python-markdown-mathjax import markdown +try: + # Markdown 2.1.0 changed from 2.0.3. We try importing the new version first, + # but import the 2.0.3 version if it fails + from markdown.util import etree, AtomicString +except: + from markdown import etree, AtomicString class MathJaxPattern(markdown.inlinepatterns.Pattern): @@ -8,7 +14,9 @@ class MathJaxPattern(markdown.inlinepatterns.Pattern): markdown.inlinepatterns.Pattern.__init__(self, r'(?