Fixed #15237 -- Always set charset of Atom1 feeds to UTF-8. Thanks, Simon and jasonkotenko.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15505 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jannis Leidel 2011-02-12 19:12:14 +00:00
parent ba1876cef2
commit 632d9f994f
3 changed files with 11 additions and 3 deletions

View File

@ -1,9 +1,8 @@
import datetime
from django.conf import settings from django.conf import settings
from django.contrib.sites.models import get_current_site from django.contrib.sites.models import get_current_site
from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist
from django.http import HttpResponse, Http404 from django.http import HttpResponse, Http404
from django.template import loader, Template, TemplateDoesNotExist, RequestContext from django.template import loader, TemplateDoesNotExist, RequestContext
from django.utils import feedgenerator, tzinfo from django.utils import feedgenerator, tzinfo
from django.utils.encoding import force_unicode, iri_to_uri, smart_unicode from django.utils.encoding import force_unicode, iri_to_uri, smart_unicode
from django.utils.html import escape from django.utils.html import escape

View File

@ -291,7 +291,7 @@ class Rss201rev2Feed(RssFeed):
class Atom1Feed(SyndicationFeed): class Atom1Feed(SyndicationFeed):
# Spec: http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html # Spec: http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html
mime_type = 'application/atom+xml' mime_type = 'application/atom+xml; charset=utf8'
ns = u"http://www.w3.org/2005/Atom" ns = u"http://www.w3.org/2005/Atom"
def write(self, outfile, encoding): def write(self, outfile, encoding):

View File

@ -60,3 +60,12 @@ class FeedgeneratorTest(unittest.TestCase):
"2008-11-14T13:37:00+02:00" "2008-11-14T13:37:00+02:00"
) )
def test_atom1_mime_type(self):
"""
Test to make sure Atom MIME type has UTF8 Charset parameter set
"""
atom_feed = feedgenerator.Atom1Feed("title", "link", "description")
self.assertEqual(
atom_feed.mime_type, "application/atom+xml; charset=utf8"
)