[python-markdown] Add missing patch file.
Thomas Moschny
thm at fedoraproject.org
Sat Jul 14 16:52:30 UTC 2012
commit 944fb6542990c3be86cdd5c0994aab58be6206fc
Author: Thomas Moschny <thm at fedoraproject.org>
Date: Sat Jul 14 18:52:02 2012 +0200
Add missing patch file.
Markdown-2.2.0-extension-api.patch | 81 ++++++++++++++++++++++++++++++++++++
1 files changed, 81 insertions(+), 0 deletions(-)
---
diff --git a/Markdown-2.2.0-extension-api.patch b/Markdown-2.2.0-extension-api.patch
new file mode 100644
index 0000000..f533286
--- /dev/null
+++ b/Markdown-2.2.0-extension-api.patch
@@ -0,0 +1,81 @@
+diff --git a/markdown/__init__.py b/markdown/__init__.py
+index 64686c8..149ec30 100644
+--- a/markdown/__init__.py
++++ b/markdown/__init__.py
+@@ -37,6 +37,7 @@ import re
+ import codecs
+ import sys
+ import logging
++import warnings
+ import util
+ from preprocessors import build_preprocessors
+ from blockprocessors import build_block_parser
+@@ -163,10 +164,10 @@ class Markdown:
+ if isinstance(ext, basestring):
+ ext = self.build_extension(ext, configs.get(ext, []))
+ if isinstance(ext, Extension):
+- # might raise NotImplementedError, but that's the extension author's problem
+ ext.extendMarkdown(self, globals())
+ elif ext is not None:
+- raise ValueError('Extension "%s.%s" must be of type: "markdown.Extension".' \
++ raise TypeError(
++ 'Extension "%s.%s" must be of type: "markdown.Extension"'
+ % (ext.__class__.__module__, ext.__class__.__name__))
+
+ return self
+@@ -200,19 +201,22 @@ class Markdown:
+ module_name_old_style = '_'.join(['mdx', ext_name])
+ try: # Old style (mdx_<extension>)
+ module = __import__(module_name_old_style)
+- except ImportError:
+- logger.warn("Failed loading extension '%s' from '%s' or '%s'"
+- % (ext_name, module_name, module_name_old_style))
+- # Return None so we don't try to initiate none-existant extension
+- return None
++ except ImportError, e:
++ message = "Failed loading extension '%s' from '%s' or '%s'" \
++ % (ext_name, module_name, module_name_old_style)
++ e.args = (message,) + e.args[1:]
++ raise
+
+ # If the module is loaded successfully, we expect it to define a
+ # function called makeExtension()
+ try:
+ return module.makeExtension(configs.items())
+ except AttributeError, e:
+- logger.warn("Failed to initiate extension '%s': %s" % (ext_name, e))
+- return None
++ message = e.args[0]
++ message = "Failed to initiate extension " \
++ "'%s': %s" % (ext_name, message)
++ e.args = (message,) + e.args[1:]
++ raise
+
+ def registerExtension(self, extension):
+ """ This gets called by the extension """
+diff --git a/tests/test_apis.py b/tests/test_apis.py
+index 0296f27..31a60e1 100644
+--- a/tests/test_apis.py
++++ b/tests/test_apis.py
+@@ -245,18 +245,18 @@ class TestErrors(unittest.TestCase):
+
+ def testLoadExtensionFailure(self):
+ """ Test failure of an extension to load. """
+- self.assertRaises(ValueError,
++ self.assertRaises(ImportError,
+ markdown.Markdown, extensions=['non_existant_ext'])
+
+ def testLoadBadExtension(self):
+ """ Test loading of an Extension with no makeExtension function. """
+ _create_fake_extension(name='fake', has_factory_func=False)
+- self.assertRaises(ValueError, markdown.Markdown, extensions=['fake'])
++ self.assertRaises(AttributeError, markdown.Markdown, extensions=['fake'])
+
+ def testNonExtension(self):
+ """ Test loading a non Extension object as an extension. """
+ _create_fake_extension(name='fake', is_wrong_type=True)
+- self.assertRaises(ValueError, markdown.Markdown, extensions=['fake'])
++ self.assertRaises(TypeError, markdown.Markdown, extensions=['fake'])
+
+ def testBaseExtention(self):
+ """ Test that the base Extension class will raise NotImplemented. """
More information about the scm-commits
mailing list