def render(self, template_name, passed_vars, response_code = 200, response_type=False, prettyPrint=False, template_set='site', template_theme=None): """Main render helper function. Wraps other rendering functions """ if not response_type: response_type = self.request.response_type() prettyPrint = bool(self.request.get('prettyPrint', False)) if response_type == 'json': return self.render_json(passed_vars, response_code) else: # setup jinja jinja.setup(self.config.paths.template_sets) # setup variables passed_vars = self.get_template_vars(passed_vars) passed_vars = self.get_plugin_vars(passed_vars) # Get template_set and template_theme template_set = self.get_template_set() template_theme = self.get_template_theme(template_set) # logging.info('Rendering with: template_name: %s template_theme: %s template_set: %s and variables:' % (template_name, template_theme, template_set)) # logging.info(passed_vars) content = jinja.render(template_name, passed_vars, template_theme=template_theme, template_set=template_set) self.render_content(content, response_code)
def render_feed(self, template_name, template_vars): template_extension = 'xml' template_vars['buildDate'] = datetime.datetime.now() jinja.setup(self.config.paths.template_sets) template_vars = self.get_template_vars(template_vars) template_set = self.get_template_set() template_theme = self.get_template_theme(template_set) content = jinja.render(template_name, template_vars, template_theme=template_theme, template_set=template_set, template_extension=template_extension) headers = [('Content-Type', "application/%s; charset=utf-8" % ('xml'))] return self.render_content(content, 200, headers)