summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-08-24 10:56:13 -0400
committerChris McDonough <chrism@plope.com>2011-08-24 10:56:13 -0400
commitb93af955803b3ae9dec72d6e3b0d3d3014e58b3f (patch)
tree68c3b9d09142201875a4881372670fb7530b487c
parent677101a7306c77fb533baca7a6c36b5943528dd8 (diff)
downloadpyramid-b93af955803b3ae9dec72d6e3b0d3d3014e58b3f.tar.gz
pyramid-b93af955803b3ae9dec72d6e3b0d3d3014e58b3f.tar.bz2
pyramid-b93af955803b3ae9dec72d6e3b0d3d3014e58b3f.zip
- When a ``renderers=`` argument is not specified to the Configurator
constructor, eagerly register and commit the default renderer set. This permits the overriding of the default renderers, which was broken in 1.2a1 without a commit directly after Configurator construction.
-rw-r--r--CHANGES.txt8
-rw-r--r--pyramid/config/__init__.py8
-rw-r--r--pyramid/tests/test_config/test_init.py7
3 files changed, 20 insertions, 3 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 5e4c63df1..e5340de4c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,11 @@
+Next release
+============
+
+- When a ``renderers=`` argument is not specified to the Configurator
+ constructor, eagerly register and commit the default renderer set. This
+ permits the overriding of the default renderers, which was broken in 1.2a1
+ without a commit directly after Configurator construction.
+
1.2a1 (2011-08-24)
==================
diff --git a/pyramid/config/__init__.py b/pyramid/config/__init__.py
index fa607b18d..baae824ac 100644
--- a/pyramid/config/__init__.py
+++ b/pyramid/config/__init__.py
@@ -293,6 +293,11 @@ class Configurator(
registry.registerUtility(debug_logger, IDebugLogger)
+ if renderers is None:
+ for name, renderer in DEFAULT_RENDERERS:
+ self.add_renderer(name, renderer)
+ renderers = []
+
if exceptionresponse_view is not None:
exceptionresponse_view = self.maybe_dotted(exceptionresponse_view)
self.add_view(exceptionresponse_view, context=IExceptionResponse)
@@ -321,9 +326,6 @@ class Configurator(
if default_view_mapper is not None:
self.set_view_mapper(default_view_mapper)
- if renderers is None:
- renderers = DEFAULT_RENDERERS
-
for name, renderer in renderers:
self.add_renderer(name, renderer)
diff --git a/pyramid/tests/test_config/test_init.py b/pyramid/tests/test_config/test_init.py
index 454db9d0f..0a787275d 100644
--- a/pyramid/tests/test_config/test_init.py
+++ b/pyramid/tests/test_config/test_init.py
@@ -211,6 +211,13 @@ class ConfiguratorTests(unittest.TestCase):
self.assertEqual(config.registry.getUtility(IRendererFactory, 'yeah'),
renderer)
+ def test_ctor_default_renderers(self):
+ from pyramid.interfaces import IRendererFactory
+ from pyramid.renderers import json_renderer_factory
+ config = self._makeOne()
+ self.assertEqual(config.registry.getUtility(IRendererFactory, 'json'),
+ json_renderer_factory)
+
def test_ctor_default_permission(self):
from pyramid.interfaces import IDefaultPermission
config = self._makeOne(default_permission='view')