diff options
| author | Blaise Laflamme <blaise@laflamme.org> | 2012-06-19 19:28:55 -0400 |
|---|---|---|
| committer | Blaise Laflamme <blaise@laflamme.org> | 2012-06-19 19:28:55 -0400 |
| commit | 59f8017b4a4aa9767bab49b39db362e973bdacf1 (patch) | |
| tree | 90cb86afff3457efa1fba2ed9aca55404edab21c | |
| parent | c358304043e7e68c7fc97dff42f88633b8f15c69 (diff) | |
| download | pyramid-59f8017b4a4aa9767bab49b39db362e973bdacf1.tar.gz pyramid-59f8017b4a4aa9767bab49b39db362e973bdacf1.tar.bz2 pyramid-59f8017b4a4aa9767bab49b39db362e973bdacf1.zip | |
removed .makodef, use tuple value if defname in renderer (bw compat), changed format for package:some/template#defname.mako
| -rw-r--r-- | pyramid/config/rendering.py | 1 | ||||
| -rw-r--r-- | pyramid/mako_templating.py | 7 | ||||
| -rw-r--r-- | pyramid/tests/test_mako_templating.py | 8 |
3 files changed, 14 insertions, 2 deletions
diff --git a/pyramid/config/rendering.py b/pyramid/config/rendering.py index bfa41ee03..926511b7b 100644 --- a/pyramid/config/rendering.py +++ b/pyramid/config/rendering.py @@ -21,7 +21,6 @@ DEFAULT_RENDERERS = ( ('.pt', chameleon_zpt.renderer_factory), ('.mak', mako_renderer_factory), ('.mako', mako_renderer_factory), - ('.makodef', mako_renderer_factory), ('json', renderers.json_renderer_factory), ('string', renderers.string_renderer_factory), ) diff --git a/pyramid/mako_templating.py b/pyramid/mako_templating.py index f866e2630..8bd9381f0 100644 --- a/pyramid/mako_templating.py +++ b/pyramid/mako_templating.py @@ -80,8 +80,10 @@ class MakoRendererFactoryHelper(object): p = re.compile( r'(?P<path>[\w_.:/]+)' r'(?:\#(?P<defname>[\w_]+))?' + r'(\.(?P<ext>.*))' ) - path, defname = p.match(info.name).group("path", "defname") + asset, defname, ext = p.match(info.name).group('path', 'defname', 'ext') + path = '%s.%s' % (asset, ext) registry = info.registry settings = info.settings settings_prefix = self.settings_prefix @@ -176,6 +178,9 @@ class MakoLookupTemplateRenderer(object): if self.defname is None: if isinstance(value, tuple): self.defname, value = value + else: + if isinstance(value, tuple): + _, value = value try: system.update(value) except (TypeError, ValueError): diff --git a/pyramid/tests/test_mako_templating.py b/pyramid/tests/test_mako_templating.py index 6cfa3ea4b..41fa9bdc4 100644 --- a/pyramid/tests/test_mako_templating.py +++ b/pyramid/tests/test_mako_templating.py @@ -353,6 +353,14 @@ class MakoLookupTemplateRendererTests(Base, unittest.TestCase): self.assertTrue(isinstance(result, text_type)) self.assertEqual(result, text_('result')) + def test_call_with_defname_with_tuple_value(self): + lookup = DummyLookup() + instance = self._makeOne('path', 'defname', lookup) + result = instance(('defname', {}), {'context':1}) + self.assertEqual(lookup.deffed, 'defname') + self.assertEqual(result, text_('result')) + self.assertEqual(lookup.values, {'_context':1}) + def test_call_with_nondict_value(self): lookup = DummyLookup() instance = self._makeOne('path', None, lookup) |
