diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-12-07 20:00:31 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-12-07 20:00:31 +0000 |
| commit | 846a9862f7c8f987977cad6415cc0949542b0322 (patch) | |
| tree | 7f1f995b950ee489d2a098a582dd1936c1eb76ba | |
| parent | d33f742c019afa8a5adfa889c0e02ad17b26bcf9 (diff) | |
| download | pyramid-846a9862f7c8f987977cad6415cc0949542b0322.tar.gz pyramid-846a9862f7c8f987977cad6415cc0949542b0322.tar.bz2 pyramid-846a9862f7c8f987977cad6415cc0949542b0322.zip | |
- Remove the ``ITestingTemplateRenderer`` interface. When
``testing.registerDummyRenderer`` is used, it now registers a
dummy implementation using ``ITemplateRenderer`` interface, which
is checked for when the built-in templating facilities do
rendering. This change also allows developers to make explcit
named utility registrations in the ZCML registry against
``ITemplateRenderer``; these will be found before any on-disk
template.
| -rw-r--r-- | CHANGES.txt | 11 | ||||
| -rw-r--r-- | repoze/bfg/interfaces.py | 6 | ||||
| -rw-r--r-- | repoze/bfg/templating.py | 7 | ||||
| -rw-r--r-- | repoze/bfg/testing.py | 4 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_chameleon_genshi.py | 12 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_chameleon_text.py | 12 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_chameleon_zpt.py | 12 |
7 files changed, 34 insertions, 30 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index 07ad19439..286577d72 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,14 @@ +Next release + + - Remove the ``ITestingTemplateRenderer`` interface. When + ``testing.registerDummyRenderer`` is used, it now registers a + dummy implementation using ``ITemplateRenderer`` interface, which + is checked for when the built-in templating facilities do + rendering. This change also allows developers to make explcit + named utility registrations in the ZCML registry against + ``ITemplateRenderer``; these will be found before any on-disk + template. + 0.5.2 (12/5/2008) - The component registration handler for views (functions or class diff --git a/repoze/bfg/interfaces.py b/repoze/bfg/interfaces.py index 71ef619c2..b05558c81 100644 --- a/repoze/bfg/interfaces.py +++ b/repoze/bfg/interfaces.py @@ -41,12 +41,6 @@ class ITemplateRenderer(Interface): passed in as arguments and return the result (a string or unicode object) """ -class ITestingTemplateRenderer(Interface): - def __call__(**kw): - """ Accept keywords and process for test comparison purposes - (usually set all keywords as attributes of self); return value - is a string """ - class ITemplateRendererFactory(Interface): def __call__(path, auto_reload=False): """ Return an object that implements ``ITemplateRenderer`` """ diff --git a/repoze/bfg/templating.py b/repoze/bfg/templating.py index 225a36358..a8f10ae8f 100644 --- a/repoze/bfg/templating.py +++ b/repoze/bfg/templating.py @@ -1,19 +1,18 @@ from zope.component import queryUtility from repoze.bfg.interfaces import ITemplateRenderer -from repoze.bfg.interfaces import ITestingTemplateRenderer from zope.component.interfaces import ComponentLookupError from zope.component import getSiteManager from repoze.bfg.path import caller_path import os def renderer_from_cache(path, factory, level=3, **kw): - # XXX use pkg_resources abspath = caller_path(path, level=level) renderer = queryUtility(ITemplateRenderer, abspath) if renderer is None: - # service unit tests by trying the relative path - renderer = queryUtility(ITestingTemplateRenderer, path) + # service unit tests and explicit registrations by trying the relative + # "path" + renderer = queryUtility(ITemplateRenderer, path) if renderer is None: if not os.path.exists(abspath): diff --git a/repoze/bfg/testing.py b/repoze/bfg/testing.py index 9eb45f75b..fb9453506 100644 --- a/repoze/bfg/testing.py +++ b/repoze/bfg/testing.py @@ -59,9 +59,9 @@ def registerDummyRenderer(path): that calls the ``render_template_to_response`` or any other ``render_template*`` API of any of the built-in templating systems.""" - from repoze.bfg.interfaces import ITestingTemplateRenderer + from repoze.bfg.interfaces import ITemplateRenderer renderer = DummyTemplateRenderer() - return registerUtility(renderer, ITestingTemplateRenderer, path) + return registerUtility(renderer, ITemplateRenderer, path) def registerView(name, result='', view=None, for_=(Interface, Interface)): """ Registers ``repoze.bfg`` view function under the name diff --git a/repoze/bfg/tests/test_chameleon_genshi.py b/repoze/bfg/tests/test_chameleon_genshi.py index 5a31ca6fa..8012101f5 100644 --- a/repoze/bfg/tests/test_chameleon_genshi.py +++ b/repoze/bfg/tests/test_chameleon_genshi.py @@ -140,16 +140,16 @@ class GetRendererTests(unittest.TestCase, Base): self.assertEqual(result, utility) self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - def test_testing(self): + def test_explicit_registration(self): from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import ITestingTemplateRenderer + from repoze.bfg.interfaces import ITemplateRenderer class Dummy: template = object() def implementation(self): return self.template gsm = getGlobalSiteManager() utility = Dummy() - gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo') + gsm.registerUtility(utility, ITemplateRenderer, name='foo') get = self._getFUT() result = get('foo') self.failUnless(result is utility) @@ -195,16 +195,16 @@ class GetTemplateTests(unittest.TestCase, Base): self.assertEqual(result.filename, minimal) self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - def test_testing(self): + def test_explicit_registration(self): from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import ITestingTemplateRenderer + from repoze.bfg.interfaces import ITemplateRenderer class Dummy: template = object() def implementation(self): return self.template gsm = getGlobalSiteManager() utility = Dummy() - gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo') + gsm.registerUtility(utility, ITemplateRenderer, name='foo') get = self._getFUT() result = get('foo') self.failUnless(result is utility.template) diff --git a/repoze/bfg/tests/test_chameleon_text.py b/repoze/bfg/tests/test_chameleon_text.py index 8e53b7ff9..594c2806f 100644 --- a/repoze/bfg/tests/test_chameleon_text.py +++ b/repoze/bfg/tests/test_chameleon_text.py @@ -150,16 +150,16 @@ class GetRendererTests(unittest.TestCase, Base): self.assertEqual(result, utility) self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - def test_testing(self): + def test_explicit_registration(self): from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import ITestingTemplateRenderer + from repoze.bfg.interfaces import ITemplateRenderer class Dummy: template = object() def implementation(self): return self.template gsm = getGlobalSiteManager() utility = Dummy() - gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo') + gsm.registerUtility(utility, ITemplateRenderer, name='foo') get = self._getFUT() result = get('foo') self.failUnless(result is utility) @@ -206,16 +206,16 @@ class GetTemplateTests(unittest.TestCase, Base): self.assertEqual(result.filename, minimal) self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - def test_testing(self): + def test_explicit_registration(self): from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import ITestingTemplateRenderer + from repoze.bfg.interfaces import ITemplateRenderer class Dummy: template = object() def implementation(self): return self.template gsm = getGlobalSiteManager() utility = Dummy() - gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo') + gsm.registerUtility(utility, ITemplateRenderer, name='foo') get = self._getFUT() result = get('foo') self.failUnless(result is utility.template) diff --git a/repoze/bfg/tests/test_chameleon_zpt.py b/repoze/bfg/tests/test_chameleon_zpt.py index 3ec956217..d2ee1704f 100644 --- a/repoze/bfg/tests/test_chameleon_zpt.py +++ b/repoze/bfg/tests/test_chameleon_zpt.py @@ -143,16 +143,16 @@ class GetRendererTests(unittest.TestCase, Base): self.assertEqual(result, utility) self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - def test_testing(self): + def test_explicit_registration(self): from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import ITestingTemplateRenderer + from repoze.bfg.interfaces import ITemplateRenderer class Dummy: template = object() def implementation(self): return self.template gsm = getGlobalSiteManager() utility = Dummy() - gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo') + gsm.registerUtility(utility, ITemplateRenderer, name='foo') get = self._getFUT() result = get('foo') self.failUnless(result is utility) @@ -199,16 +199,16 @@ class GetTemplateTests(unittest.TestCase, Base): self.assertEqual(result.filename, minimal) self.assertEqual(queryUtility(ITemplateRenderer, minimal), utility) - def test_testing(self): + def test_explicit_registration(self): from zope.component import getGlobalSiteManager - from repoze.bfg.interfaces import ITestingTemplateRenderer + from repoze.bfg.interfaces import ITemplateRenderer class Dummy: template = object() def implementation(self): return self.template gsm = getGlobalSiteManager() utility = Dummy() - gsm.registerUtility(utility, ITestingTemplateRenderer, name='foo') + gsm.registerUtility(utility, ITemplateRenderer, name='foo') get = self._getFUT() result = get('foo') self.failUnless(result is utility.template) |
