diff options
author | Julien Danjou <julien@danjou.info> | 2014-12-19 14:45:42 +0100 |
---|---|---|
committer | Julien Danjou <julien@danjou.info> | 2014-12-19 14:48:12 +0100 |
commit | a82e395118e09954383f915d5e463914407693cc (patch) | |
tree | f0d8f7b0a3832b523aafca99d75b0bb82d0f0a2c /pecan | |
parent | fcfbd06ccceca449fa1703ab51fad4035f994525 (diff) | |
download | pecan-a82e395118e09954383f915d5e463914407693cc.tar.gz |
core: optimize renderer computing
This just use if/elif/else to do the proper renderer finding once and
for all.
Change-Id: I5e754afad2a7ce64e692d6898a9cf9eed5a7e94c
Diffstat (limited to 'pecan')
-rw-r--r-- | pecan/core.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/pecan/core.py b/pecan/core.py index 173210b..af5d943 100644 --- a/pecan/core.py +++ b/pecan/core.py @@ -390,18 +390,19 @@ class PecanBase(object): return args, varargs, kwargs def render(self, template, namespace): - renderer = self.renderers.get( - self.default_renderer, - self.template_path - ) if template == 'json': renderer = self.renderers.get('json', self.template_path) - if ':' in template: + elif ':' in template: + renderer_name, template = template.split(':', 1) + renderer = self.renderers.get( + renderer_name, + self.template_path + ) + else: renderer = self.renderers.get( - template.split(':')[0], + self.default_renderer, self.template_path ) - template = template.split(':')[1] return renderer.render(template, namespace) def find_controller(self, state): |