From 7d32047694c462e26ac5cebd1fca3e0003742038 Mon Sep 17 00:00:00 2001 From: Serghei Mihai Date: Tue, 31 Mar 2015 20:01:44 +0200 Subject: [PATCH] Renderer returning data, with appended default context as dict (#6870) --- src/cmsplugin_blurp/renderers/data_source.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/cmsplugin_blurp/renderers/data_source.py b/src/cmsplugin_blurp/renderers/data_source.py index 8734ca2..fdb3d3b 100644 --- a/src/cmsplugin_blurp/renderers/data_source.py +++ b/src/cmsplugin_blurp/renderers/data_source.py @@ -124,6 +124,20 @@ class DictRenderer(Renderer): return context +class DictRendererWithDefault(DictRenderer): + """ + Same as DictRender but each dict item contains data under "data" key and + the config defaults unde "default" key + """ + + def get_sources(self, context): + for source in self.config['sources']: + slug = '{0}.{1}'.format(self.slug, source['slug']) + result = source.get('default', {}) + result['data'] = Data(slug, self.config, source, context) + yield source['slug'], result + + class Data(object): '''Encapsulate data from a source'''