From 0d6ab6fbbd6093b619a6f39242f49ffe27f56f2f Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Tue, 1 Jul 2014 23:28:05 +0200 Subject: [PATCH] modify the signature of Renderer interface's render() method --- README | 6 +----- src/cmsplugin_blurp/cms_plugins.py | 2 +- src/cmsplugin_blurp/renderers/base.py | 2 +- src/cmsplugin_blurp/renderers/data_source.py | 2 +- src/cmsplugin_blurp/renderers/sql.py | 2 +- src/cmsplugin_blurp/renderers/static.py | 2 +- src/cmsplugin_blurp/templatetags/blurp_tags.py | 2 +- src/cmsplugin_blurp/tests.py | 10 +++++----- 8 files changed, 12 insertions(+), 16 deletions(-) diff --git a/README b/README index 4807b7c..eeecbde 100644 --- a/README +++ b/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. diff --git a/src/cmsplugin_blurp/cms_plugins.py b/src/cmsplugin_blurp/cms_plugins.py index 6e74836..9accdef 100644 --- a/src/cmsplugin_blurp/cms_plugins.py +++ b/src/cmsplugin_blurp/cms_plugins.py @@ -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 diff --git a/src/cmsplugin_blurp/renderers/base.py b/src/cmsplugin_blurp/renderers/base.py index 47987d7..ae5e85b 100644 --- a/src/cmsplugin_blurp/renderers/base.py +++ b/src/cmsplugin_blurp/renderers/base.py @@ -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 diff --git a/src/cmsplugin_blurp/renderers/data_source.py b/src/cmsplugin_blurp/renderers/data_source.py index 5eb2f44..4a28955 100644 --- a/src/cmsplugin_blurp/renderers/data_source.py +++ b/src/cmsplugin_blurp/renderers/data_source.py @@ -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 diff --git a/src/cmsplugin_blurp/renderers/sql.py b/src/cmsplugin_blurp/renderers/sql.py index becb663..0f1df62 100644 --- a/src/cmsplugin_blurp/renderers/sql.py +++ b/src/cmsplugin_blurp/renderers/sql.py @@ -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 = [] diff --git a/src/cmsplugin_blurp/renderers/static.py b/src/cmsplugin_blurp/renderers/static.py index f9239bb..b3a4b1c 100644 --- a/src/cmsplugin_blurp/renderers/static.py +++ b/src/cmsplugin_blurp/renderers/static.py @@ -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 diff --git a/src/cmsplugin_blurp/templatetags/blurp_tags.py b/src/cmsplugin_blurp/templatetags/blurp_tags.py index 749b725..0cb7939 100644 --- a/src/cmsplugin_blurp/templatetags/blurp_tags.py +++ b/src/cmsplugin_blurp/templatetags/blurp_tags.py @@ -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) diff --git a/src/cmsplugin_blurp/tests.py b/src/cmsplugin_blurp/tests.py index 3d09847..9e01288 100644 --- a/src/cmsplugin_blurp/tests.py +++ b/src/cmsplugin_blurp/tests.py @@ -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')