From 89c03dcbf3dfc789ed258e697ac87de3bcc2133c Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Sat, 12 Feb 2011 19:24:25 +0000 Subject: [PATCH] [1.2.X] Fixed #14132 -- Fixed feedgenerator to support years < 1900. Thanks, mk. Backport from trunk (r15503). git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15510 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/utils/feedgenerator.py | 7 ++++++- tests/regressiontests/syndication/fixtures/feeddata.json | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/django/utils/feedgenerator.py b/django/utils/feedgenerator.py index af167697c2e08..0fd5dfef343ca 100644 --- a/django/utils/feedgenerator.py +++ b/django/utils/feedgenerator.py @@ -27,8 +27,11 @@ import urlparse from django.utils.xmlutils import SimplerXMLGenerator from django.utils.encoding import force_unicode, iri_to_uri +from django.utils import datetime_safe def rfc2822_date(date): + # Support datetime objects older than 1900 + date = datetime_safe.new_datetime(date) # We do this ourselves to be timezone aware, email.Utils is not tz aware. if date.tzinfo: time_str = date.strftime('%a, %d %b %Y %H:%M:%S ') @@ -40,6 +43,8 @@ def rfc2822_date(date): return date.strftime('%a, %d %b %Y %H:%M:%S -0000') def rfc3339_date(date): + # Support datetime objects older than 1900 + date = datetime_safe.new_datetime(date) if date.tzinfo: time_str = date.strftime('%Y-%m-%dT%H:%M:%S') offset = date.tzinfo.utcoffset(date) @@ -64,7 +69,7 @@ def get_tag_uri(url, date): d = '' if date is not None: - d = ',%s' % date.strftime('%Y-%m-%d') + d = ',%s' % datetime_safe.new_datetime(date).strftime('%Y-%m-%d') return u'tag:%s%s:%s/%s' % (hostname, d, path, fragment) class SyndicationFeed(object): diff --git a/tests/regressiontests/syndication/fixtures/feeddata.json b/tests/regressiontests/syndication/fixtures/feeddata.json index 4a5c02297a6db..167115c9251c4 100644 --- a/tests/regressiontests/syndication/fixtures/feeddata.json +++ b/tests/regressiontests/syndication/fixtures/feeddata.json @@ -4,7 +4,7 @@ "pk": 1, "fields": { "title": "My first entry", - "date": "2008-01-01 12:30:00" + "date": "1850-01-01 12:30:00" } }, {