summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlaise Laflamme <blaise@laflamme.org>2012-06-19 19:28:55 -0400
committerBlaise Laflamme <blaise@laflamme.org>2012-06-19 19:28:55 -0400
commit59f8017b4a4aa9767bab49b39db362e973bdacf1 (patch)
tree90cb86afff3457efa1fba2ed9aca55404edab21c
parentc358304043e7e68c7fc97dff42f88633b8f15c69 (diff)
downloadpyramid-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.py1
-rw-r--r--pyramid/mako_templating.py7
-rw-r--r--pyramid/tests/test_mako_templating.py8
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)