def feedparser_render(url, *args, **kwargs): """ Render a feed and return its builded html Usage: :: {% feedparser_render 'http://localhost/sample.xml' %} Or with all accepted arguments: :: {% feedparser_render 'http://localhost/sample.xml' renderer='CustomRenderer' template='foo/custom.html' expiration=3600 %} """ renderer_name = kwargs.get('renderer', 'basic') renderer_template = kwargs.get('template', None) expiration = kwargs.get('expiration', 0) renderer = get_feed_renderer(settings.FEED_RENDER_ENGINES, renderer_name) return renderer().render(url, template=renderer_template, expiration=expiration)
def render(self, context, instance, placeholder): """ Build feed context using given paramaters and let the plugin render itself with right context """ # Adjust template to the given one self.render_template = instance.template context.update({ 'instance': instance, }) renderer = get_feed_renderer(settings.FEED_RENDER_ENGINES, instance.renderer) feed_context = renderer().get_context( instance.url, expiration=instance.expiration, ) context.update(feed_context) return context
def feedparser_render(url, *args, **kwargs): """ Render a feed and return its builded html Usage: :: {% feedparser_render 'http://localhost/sample.xml' %} Or with all accepted arguments: :: {% feedparser_render 'http://localhost/sample.xml' renderer='CustomRenderer' template='foo/custom.html' expiration=3600 %} """ renderer_name = kwargs.get('renderer', settings.FEED_DEFAULT_RENDERER_ENGINE) renderer_template = kwargs.get('template', None) expiration = kwargs.get('expiration', 0) renderer = get_feed_renderer(settings.FEED_RENDER_ENGINES, renderer_name) return renderer().render(url, template=renderer_template, expiration=expiration)