diff piecrust/formatting/markdownformatter.py @ 58:95590732e4c9

More robust Markdown configuration handling.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 26 Aug 2014 23:18:58 -0700
parents c95c90c82263
children fdb08d986384
line wrap: on
line diff
--- a/piecrust/formatting/markdownformatter.py	Tue Aug 26 23:18:32 2014 -0700
+++ b/piecrust/formatting/markdownformatter.py	Tue Aug 26 23:18:58 2014 -0700
@@ -18,11 +18,18 @@
         if self._extensions is not None:
             return
 
-        extensions = self.app.config.get('markdown/extensions')
+        config = self.app.config.get('markdown')
+        if config is None:
+            config = {}
+        elif not isinstance(config, dict):
+            raise Exception("The `markdown` configuration setting must be "
+                            "a dictionary.")
+
+        extensions = config.get('extensions')
         if extensions is None:
             extensions = []
         # Compatibility with PieCrust 1.x
-        if self.app.config.get('markdown/use_markdown_extra'):
+        if config.get('use_markdown_extra'):
             extensions.append('extra')
         self._extensions = extensions