From a82e395118e09954383f915d5e463914407693cc Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Fri, 19 Dec 2014 14:45:42 +0100 Subject: core: optimize renderer computing This just use if/elif/else to do the proper renderer finding once and for all. Change-Id: I5e754afad2a7ce64e692d6898a9cf9eed5a7e94c --- pecan/core.py | 15 ++++++++------- 1 file 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): -- cgit v1.2.1