From 238ed768966918855241245c03411a6d0209923e Mon Sep 17 00:00:00 2001 From: Bridger Maxwell Date: Sat, 14 Jan 2012 00:09:01 -0500 Subject: [PATCH] The new markdown framework version was not backwards compatible. Now the wiki source can use either version of the API. --- simplewiki/mdx_camelcase.py | 11 +++++++++-- simplewiki/mdx_circuit.py | 14 +++++++++----- simplewiki/mdx_image.py | 10 +++++++++- simplewiki/mdx_mathjax.py | 12 +++++++++--- simplewiki/mdx_video.py | 17 ++++++++++++----- 5 files changed, 48 insertions(+), 16 deletions(-) mode change 100644 => 100755 simplewiki/mdx_camelcase.py mode change 100644 => 100755 simplewiki/mdx_circuit.py mode change 100644 => 100755 simplewiki/mdx_image.py mode change 100644 => 100755 simplewiki/mdx_video.py diff --git a/simplewiki/mdx_camelcase.py b/simplewiki/mdx_camelcase.py old mode 100644 new mode 100755 index bf4e721860..600c7ea17b --- a/simplewiki/mdx_camelcase.py +++ b/simplewiki/mdx_camelcase.py @@ -69,6 +69,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): @@ -97,14 +104,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 16e9bdd229..f87262d9fc --- 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): @@ -33,9 +37,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 bc25bace66..e694ca861e 100644 --- a/simplewiki/mdx_mathjax.py +++ b/simplewiki/mdx_mathjax.py @@ -1,8 +1,12 @@ # Source: https://github.com/mayoff/python-markdown-mathjax -print "Hello" - 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): @@ -10,7 +14,9 @@ class MathJaxPattern(markdown.inlinepatterns.Pattern): markdown.inlinepatterns.Pattern.__init__(self, r'(?