def _create_jinja_env(self, locale='', root=None): kwargs = { 'autoescape': True, 'extensions': [ 'jinja2.ext.autoescape', 'jinja2.ext.do', 'jinja2.ext.i18n', 'jinja2.ext.loopcontrols', 'jinja2.ext.with_', ], 'loader': self.pod.storage.JinjaLoader( self.pod.root if root is None else root), 'lstrip_blocks': True, 'trim_blocks': True, } if self.pod.env.cached: kwargs['bytecode_cache'] = self.pod.jinja_bytecode_cache kwargs['bytecode_cache'] = self.pod.jinja_bytecode_cache kwargs['extensions'].extend(self.pod.list_jinja_extensions()) env = jinja_dependency.DepEnvironment(**kwargs) env.filters.update( filters.create_builtin_filters(env, self.pod, locale=locale)) env.globals.update( **tags.create_builtin_globals(env, self.pod, locale=locale)) env.tests.update(jinja_tests.create_builtin_tests()) return env
def _create_jinja_env(self, locale='', root=None): kwargs = { 'autoescape': True, 'extensions': [ 'jinja2.ext.autoescape', 'jinja2.ext.do', 'jinja2.ext.i18n', 'jinja2.ext.loopcontrols', 'jinja2.ext.with_', ], 'loader': self.pod.storage.JinjaLoader( self.pod.root if root is None else root), 'lstrip_blocks': True, 'trim_blocks': True, } if self.pod.env.cached: kwargs['bytecode_cache'] = self.pod.jinja_bytecode_cache kwargs['bytecode_cache'] = self.pod.jinja_bytecode_cache kwargs['extensions'].extend(self.pod.list_jinja_extensions()) env = jinja_dependency.DepEnvironment(**kwargs) env.filters.update(filters.create_builtin_filters()) get_gettext_func = self.pod.catalogs.get_gettext_translations # pylint: disable=no-member env.install_gettext_callables( lambda x: get_gettext_func(locale).ugettext(x), lambda s, p, n: get_gettext_func(locale).ungettext(s, p, n), newstyle=True) return env