def test_create__kwarg(self): """ Test passing a keyword argument. """ context = ContextStack.create(foo='bar') self.assertEqual(context.get('foo'), 'bar')
def test_create__dictionary(self): """ Test passing a dictionary. """ context = ContextStack.create({'foo': 'bar'}) self.assertEqual(context.get('foo'), 'bar')
def test_create__none(self): """ Test passing None. """ context = ContextStack.create({'foo': 'bar'}, None) self.assertEqual(context.get('foo'), 'bar')
def test_create__dictionary(self): """ Test passing a dictionary. """ context = ContextStack.create({"foo": "bar"}) self.assertEqual(context.get("foo"), "bar")
def test_create__precedence_keyword(self): """ Test precedence of keyword arguments. """ context = ContextStack.create({'foo': 'bar'}, foo='buzz') self.assertEqual(context.get('foo'), 'buzz')
def test_create__precedence_keyword(self): """ Test precedence of keyword arguments. """ context = ContextStack.create({"foo": "bar"}, foo="buzz") self.assertEqual(context.get("foo"), "buzz")
def test_create__kwarg(self): """ Test passing a keyword argument. """ context = ContextStack.create(foo="bar") self.assertEqual(context.get("foo"), "bar")
def test_create__precedence_positional(self): """ Test precedence of positional arguments. """ context = ContextStack.create({"foo": "bar"}, {"foo": "buzz"}) self.assertEqual(context.get("foo"), "buzz")
def test_create__precedence_positional(self): """ Test precedence of positional arguments. """ context = ContextStack.create({'foo': 'bar'}, {'foo': 'buzz'}) self.assertEqual(context.get('foo'), 'buzz')
def test_create__none(self): """ Test passing None. """ context = ContextStack.create({"foo": "bar"}, None) self.assertEqual(context.get("foo"), "bar")
def test_create__context(self): """ Test passing a ContextStack instance. """ obj = ContextStack({"foo": "bar"}) context = ContextStack.create(obj) self.assertEqual(context.get("foo"), "bar")
def test_create__context(self): """ Test passing a ContextStack instance. """ obj = ContextStack({'foo': 'bar'}) context = ContextStack.create(obj) self.assertEqual(context.get('foo'), 'bar')
def test_create__object(self): """ Test passing an object. """ class Foo(object): foo = 'bar' context = ContextStack.create(Foo()) self.assertEqual(context.get('foo'), 'bar')
def test_create__object(self): """ Test passing an object. """ class Foo(object): foo = "bar" context = ContextStack.create(Foo()) self.assertEqual(context.get("foo"), "bar")
def _render_final(self, render_func, *context, **kwargs): """ Arguments: render_func: a function that accepts a RenderEngine and ContextStack instance and returns a template rendering as a unicode string. """ stack = ContextStack.create(*context, **kwargs) self._context = stack engine = self._make_render_engine() return render_func(engine, stack)
def _render_string(self, template, *context, **kwargs): """ Render the given template string using the given context. """ # RenderEngine.render() requires that the template string be unicode. template = self._to_unicode_hard(template) context = ContextStack.create(*context, **kwargs) self._context = context engine = self._make_render_engine() rendered = engine.render(template, context) return str(rendered)
def render_name(self, template_name, *context, **kwargs): try: parsed_template = None cache_key = "%s_template_%s" % (options.site_name, template_name) parsed_template = self.memcache_get(cache_key) if not parsed_template: loader = self._make_loader() template = loader.load_name(template_name) template = self._to_unicode_hard(template) parsed_template = parse(template, None) self.memcache_set(cache_key, parsed_template) stack = ContextStack.create(*context, **kwargs) self._context = stack engine = self._make_render_engine() return parsed_template.render(engine, stack) except Exception as e: logging.exception(e) return e.message