Ticket #10334: syndication.patch

File syndication.patch, 2.1 KB (added by Ian Lewis, 15 years ago)

Patch for the RSS framework

  • django/contrib/syndication/feeds.py

    diff --git a/django/contrib/syndication/feeds.py b/django/contrib/syndication/feeds.py
    index a1f0810..de09e72 100644
    a b from django.contrib.sites.models import Site, RequestSite  
    66from django.utils import feedgenerator
    77from django.utils.tzinfo import FixedOffset
    8 from django.utils.encoding import smart_unicode, iri_to_uri
     8from django.utils.encoding import smart_unicode, force_unicode, iri_to_uri
    99from django.conf import settings         
    1010from django.template import RequestContext
    class Feed(object):  
    121121            title_tmp = loader.get_template(self.title_template_name)
    122122        except TemplateDoesNotExist:
    123             title_tmp = Template('{{ obj }}')
     123            title_tmp = None
    124124        try:
    125125            description_tmp = loader.get_template(self.description_template_name)
    126126        except TemplateDoesNotExist:
    127             description_tmp = Template('{{ obj }}')
     127            description_tmp = None
    128128
    129129        for item in self.__get_dynamic_attr('items', obj):
    class Feed(object):  
    162162                pubdate = pubdate.replace(tzinfo=FixedOffset(tzOffset))
    163163
     164            if title_tmp:
     165              title_str = title_tmp.render(RequestContext(self.request, {'obj': item, 'site': current_site}))
     166            else:
     167              title_str = force_unicode(item)
     168
     169            if description_tmp:
     170              description_str = description_tmp.render(RequestContext(self.request, {'obj': item, 'site': current_site}))
     171            else:
     172              description_str = force_unicode(item)
     173   
    164174            feed.add_item(
    165                 title = title_tmp.render(RequestContext(self.request, {'obj': item, 'site': current_site})),
     175                title = title_str,
    166176                link = link,
    167                 description = description_tmp.render(RequestContext(self.request, {'obj': item, 'site': current_site})),
     177                description = description_str,
    168178                unique_id = self.__get_dynamic_attr('item_guid', item, link),
    169179                enclosure = enc,
Back to Top