data renderer treating its sources urls as templates

This commit is contained in:
Serghei Mihai 2015-04-07 19:02:30 +02:00
parent 2055a8c858
commit 6f1da5d02a
1 changed files with 15 additions and 0 deletions

View File

@ -111,6 +111,21 @@ class Renderer(template.TemplateRenderer):
return super(Renderer, self).render(context)
class TemplateSourcesRenderer(Renderer):
"""
Interprets its sources urls as django templates and renders them with
current context
"""
def get_sources(self, context):
for source in self.config['sources']:
slug = '{0}.{1}'.format(self.slug, source['slug'])
source['url'] = template.Template(source['url']).render(context)
result = source.get('default', {})
result['data'] = Data(slug, self.config, source, context)
yield source['slug'], result
class DictRenderer(Renderer):
"""
Aggregates all data from the sources into a dict and expose it to the