aboutsummaryrefslogtreecommitdiffstats
path: root/markdown
diff options
context:
space:
mode:
authorWaylan Limberg <waylan.limberg@icloud.com>2014-08-29 14:11:57 -0400
committerWaylan Limberg <waylan.limberg@icloud.com>2014-08-29 14:11:57 -0400
commit9d388a8ee26934c7b4685374ed7afbf5219d1995 (patch)
tree0868a64d464fdb16d708fe862c0608ad8e946200 /markdown
parentc27cbd154050c1181eac195a4b0bb19a6bbaf048 (diff)
downloadmarkdown-9d388a8ee26934c7b4685374ed7afbf5219d1995.tar.gz
markdown-9d388a8ee26934c7b4685374ed7afbf5219d1995.tar.bz2
markdown-9d388a8ee26934c7b4685374ed7afbf5219d1995.zip
More updates to test configs.
The last few extensions were updated to accept dicts/**kwargs as configs and more tests were updated. Also updated extra to actually accept configs. Note that extra requires an extra level of dicts. First you need to indicate tha the settings are for extra, then, which extension extra wraps. I'm not crazy abount this, bit not sur ehow else to do it without making all the configs a global attribute on the Markdown class to that any extention can access any other extensions config settings. I don't think we wnat to do that. Also updated extra to use dot notation for the sub-extensions.
Diffstat (limited to 'markdown')
-rw-r--r--markdown/__init__.py4
-rw-r--r--markdown/extensions/extra.py22
-rw-r--r--markdown/extensions/headerid.py5
3 files changed, 18 insertions, 13 deletions
diff --git a/markdown/__init__.py b/markdown/__init__.py
index 28f30c8..0fdcd97 100644
--- a/markdown/__init__.py
+++ b/markdown/__init__.py
@@ -218,11 +218,11 @@ class Markdown(object):
if class_name:
# Load given class name from module.
- return getattr(module, class_name)(configs.items())
+ return getattr(module, class_name)(configs=configs)
else:
# Expect makeExtension() function to return a class.
try:
- return module.makeExtension(configs.items())
+ return module.makeExtension(configs=configs)
except AttributeError as e:
message = e.args[0]
message = "Failed to initiate extension " \
diff --git a/markdown/extensions/extra.py b/markdown/extensions/extra.py
index c5526d1..4044a87 100644
--- a/markdown/extensions/extra.py
+++ b/markdown/extensions/extra.py
@@ -36,19 +36,25 @@ from ..blockprocessors import BlockProcessor
from .. import util
import re
-extensions = ['smart_strong',
- 'fenced_code',
- 'footnotes',
- 'attr_list',
- 'def_list',
- 'tables',
- 'abbr',
- ]
+extensions = [
+ 'markdown.extensions.smart_strong',
+ 'markdown.extensions.fenced_code',
+ 'markdown.extensions.footnotes',
+ 'markdown.extensions.attr_list',
+ 'markdown.extensions.def_list',
+ 'markdown.extensions.tables',
+ 'markdown.extensions.abbr'
+]
class ExtraExtension(Extension):
""" Add various extensions to Markdown class."""
+ def __init__(self, *args, **kwargs):
+ """ config is just a dumb holder which gets passed to actual ext later. """
+ self.config = kwargs.pop('configs', {})
+ self.config.update(kwargs)
+
def extendMarkdown(self, md, md_globals):
""" Register extension instances. """
md.registerExtensions(extensions, self.config)
diff --git a/markdown/extensions/headerid.py b/markdown/extensions/headerid.py
index 9af94df..f7b7805 100644
--- a/markdown/extensions/headerid.py
+++ b/markdown/extensions/headerid.py
@@ -117,7 +117,7 @@ class HeaderIdTreeprocessor(Treeprocessor):
class HeaderIdExtension(Extension):
- def __init__(self, configs):
+ def __init__(self, *args, **kwargs):
# set defaults
self.config = {
'level' : ['1', 'Base level for headers.'],
@@ -126,8 +126,7 @@ class HeaderIdExtension(Extension):
'slugify' : [slugify, 'Callable to generate anchors'],
}
- for key, value in configs:
- self.setConfig(key, value)
+ super(HeaderIdExtension, self).__init__(*args, **kwargs)
def extendMarkdown(self, md, md_globals):
md.registerExtension(self)