]> git.openstreetmap.org Git - osqa.git/commitdiff
be sure to encode feed items properly
authorjordan <jordan@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Mon, 16 Jan 2012 21:52:18 +0000 (21:52 +0000)
committerjordan <jordan@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Mon, 16 Jan 2012 21:52:18 +0000 (21:52 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@1221 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum/feed.py

index 420a117eea37ca658437d15ba902a4f852255c89..60c2d3fe0ab3bf32a26d663e1039580f4dba7c0c 100644 (file)
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+
 try:
     from django.contrib.syndication.views import Feed, FeedDoesNotExist, add_domain
     old_version = False
@@ -24,33 +26,33 @@ class BaseNodeFeed(Feed):
         description_template = "feeds/rss_description.html"
 
     def __init__(self, request, title, description, url):
-        self._title = title
-        self._description = mark_safe(description.encode("utf-8"))
+        self._title = u"%s" % smart_unicode(title)
+        self._description = mark_safe(u"%s" % smart_unicode(description))
         self._url = url
 
         if old_version:
             super(BaseNodeFeed, self).__init__('', request)
 
     def title(self):
-        return self._title
+        return u"%s" % smart_unicode(self._title)
 
     def link(self):
         return self._url
 
     def description(self):
-        return self._description
+        return u"%s" % smart_unicode(self._description)
 
     def item_title(self, item):
-        return item.title
+        return u"%s" % smart_unicode(item.title)
 
     def item_description(self, item):
-        return item.html
+        return u"%s" % smart_unicode(item.html)
 
     def item_link(self, item):
         return item.leaf.get_absolute_url()
 
     def item_author_name(self, item):
-        return item.author.username
+        return u"%s" % smart_unicode(item.author.username)
 
     def item_author_link(self, item):
         return item.author.get_profile_url()