modify the signature of Renderer interface's render() method
This commit is contained in:
parent
455a162057
commit
0d6ab6fbbd
6
README
6
README
|
@ -17,7 +17,7 @@ A renderer is a class with the following interface::
|
|||
def __init__(self, slug, config):
|
||||
pass
|
||||
|
||||
def render(self, context, instance, placeholder):
|
||||
def render(self, context):
|
||||
'''Return the context to render the template'''
|
||||
pass
|
||||
|
||||
|
@ -279,7 +279,3 @@ You can render a block in any template using the template tag ``render_blurp``:
|
|||
{% load blurp_tags %}
|
||||
|
||||
{% render_blurp "student_table" %}
|
||||
|
||||
Beware that it will not work with renderes doing any access to the
|
||||
``placeholder`` or ``instance`` parameter of their render method as those
|
||||
object are not available in a random template.
|
||||
|
|
|
@ -17,7 +17,7 @@ class BlurpPlugin(CMSPluginBase):
|
|||
ajax = context.get('ajaxy', True) and renderer.config.get('ajax', False)
|
||||
if not ajax:
|
||||
self.render_template = renderer.render_template()
|
||||
return renderer.render(context, instance, placeholder)
|
||||
return renderer.render(context)
|
||||
else:
|
||||
request = context.get('request')
|
||||
context['plugin_id'] = instance.id
|
||||
|
|
|
@ -32,7 +32,7 @@ class BaseRenderer(object):
|
|||
yield 'name key is missing'
|
||||
|
||||
@abc.abstractmethod
|
||||
def render(self, context, instance, placeholder):
|
||||
def render(self, context):
|
||||
'''Return the context to render the template'''
|
||||
pass
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ class Renderer(template.TemplateRenderer):
|
|||
data = Data(slug, self.config, source, context)
|
||||
yield source['slug'], data
|
||||
|
||||
def render(self, context, instance, placeholder):
|
||||
def render(self, context):
|
||||
for slug, source in self.get_sources(context):
|
||||
context[slug] = source
|
||||
return context
|
||||
|
|
|
@ -15,7 +15,7 @@ class Renderer(template.Renderer):
|
|||
poolclass=NullPool, **self.config.get('kwargs', {}))
|
||||
self.views = self.config['views']
|
||||
|
||||
def render(self, context, instance, placeholder):
|
||||
def render(self, context):
|
||||
for view in self.views:
|
||||
query = view['query']
|
||||
bindparams = []
|
||||
|
|
|
@ -3,6 +3,6 @@ from .template import TemplateRenderer
|
|||
class Renderer(TemplateRenderer):
|
||||
'''Directly pass the config object to the template'''
|
||||
|
||||
def render(self, context, instance, placeholder):
|
||||
def render(self, context):
|
||||
context.update(self.config)
|
||||
return context
|
||||
|
|
|
@ -19,7 +19,7 @@ class RenderBlurp(Tag):
|
|||
if not renderer:
|
||||
return ''
|
||||
template = renderer.render_template()
|
||||
context = renderer.render(context, None, None)
|
||||
context = renderer.render(context)
|
||||
if not hasattr(template, 'render'):
|
||||
template = template.Template(template)
|
||||
return template.render(context)
|
||||
|
|
|
@ -46,7 +46,7 @@ class RendererTestCase(TestCase):
|
|||
def test_static_renderer(self):
|
||||
r = utils.resolve_renderer('static')
|
||||
self.assertIsNotNone(r)
|
||||
c = r.render(Context(), None, None)
|
||||
c = r.render(Context())
|
||||
self.assertTrue(c.has_key('content'))
|
||||
self.assertTrue(c.has_key('template'))
|
||||
self.assertEqual(c['content'], 'xxx')
|
||||
|
@ -54,27 +54,27 @@ class RendererTestCase(TestCase):
|
|||
def test_data_source_renderer_raw(self):
|
||||
r = utils.resolve_renderer('raw')
|
||||
self.assertIsNotNone(r)
|
||||
c = r.render(Context(), None, None)
|
||||
c = r.render(Context())
|
||||
self.assertTrue(c.has_key('raw'))
|
||||
self.assertEqual(unicode(c['raw']()), 'xxx')
|
||||
|
||||
def test_data_source_renderer_json(self):
|
||||
r = utils.resolve_renderer('json')
|
||||
self.assertIsNotNone(r)
|
||||
c = r.render(Context(), None, None)
|
||||
c = r.render(Context())
|
||||
self.assertTrue(c.has_key('json'))
|
||||
self.assertEqual(c['json'](), {'xxx':'yyy'})
|
||||
|
||||
def test_data_source_renderer_rss(self):
|
||||
r = utils.resolve_renderer('rss')
|
||||
self.assertIsNotNone(r)
|
||||
c = r.render(Context(), None, None)
|
||||
c = r.render(Context())
|
||||
self.assertTrue(c.has_key('rss'))
|
||||
self.assertIn('feed', c['rss']())
|
||||
|
||||
def test_data_source_renderer_xml(self):
|
||||
r = utils.resolve_renderer('xml')
|
||||
self.assertIsNotNone(r)
|
||||
c = r.render(Context(), None, None)
|
||||
c = r.render(Context())
|
||||
self.assertTrue(c.has_key('xml'))
|
||||
self.assertEqual(c['xml']().tag, 'html')
|
||||
|
|
Reference in New Issue