From ebab8c6e432f9236f7b1657432ee110819954ca1 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Wed, 31 Aug 2011 01:55:17 +0300 Subject: [PATCH] Try importing markdown utilities from markdown.util etree and AtomicString will be moved in python-markdown 2.1 See commit https://github.com/waylan/Python-Markdown/commit/89a4f3d0829a7 : Cleaned up markdown namespace. This may be a backward incompatible change for some extensions. They should be importing from markdown.util --- pokedex/db/markdown.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pokedex/db/markdown.py b/pokedex/db/markdown.py index 7916633..f928f20 100644 --- a/pokedex/db/markdown.py +++ b/pokedex/db/markdown.py @@ -15,6 +15,12 @@ import re import markdown from sqlalchemy.orm.session import object_session +try: + # Markdown 2.1+ + from markdown.util import etree, AtomicString +except ImportError: + # Old Markdown + from markdown import etree, AtomicString class MarkdownString(object): """Wraps a Markdown string. @@ -195,8 +201,8 @@ class PokedexLinkPattern(markdown.inlinepatterns.Pattern): if url: el = self.factory.make_link(category, obj, url, label or name) else: - el = markdown.etree.Element('span') - el.text = markdown.AtomicString(label or name) + el = etree.Element('span') + el.text = AtomicString(label or name) return el class PokedexLinkExtension(markdown.Extension): @@ -218,9 +224,9 @@ class PokedexLinkExtension(markdown.Extension): Override this to set custom attributes, e.g. title. """ - el = markdown.etree.Element('a') + el = etree.Element('a') el.set('href', url) - el.text = markdown.AtomicString(text) + el.text = AtomicString(text) return el def identifier_url(self, category, identifier):