From b337884fcf6b2c1934d380dd99bbe485d3b88f3a Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Sat, 28 Feb 2009 04:51:13 +0000 Subject: [PATCH] Fixed #10048 -- Handle non-existent timezone in dateformat functions. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9919 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/utils/dateformat.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/django/utils/dateformat.py b/django/utils/dateformat.py index 8da9385f6c5..2751d82e838 100644 --- a/django/utils/dateformat.py +++ b/django/utils/dateformat.py @@ -131,7 +131,7 @@ class DateFormat(TimeFormat): def I(self): "'1' if Daylight Savings Time, '0' otherwise." - if self.timezone.dst(self.data): + if self.timezone and self.timezone.dst(self.data): return u'1' else: return u'0' @@ -192,14 +192,14 @@ class DateFormat(TimeFormat): def T(self): "Time zone of this machine; e.g. 'EST' or 'MDT'" - name = self.timezone.tzname(self.data) + name = self.timezone and self.timezone.tzname(self.data) or None if name is None: name = self.format('O') return unicode(name) def U(self): "Seconds since the Unix epoch (January 1 1970 00:00:00 GMT)" - off = self.timezone.utcoffset(self.data) + off = self.timezone and self.timezone.utcoffset(self.data) or 0 return int(time.mktime(self.data.timetuple())) + off.seconds * 60 def w(self): @@ -253,6 +253,8 @@ class DateFormat(TimeFormat): timezones west of UTC is always negative, and for those east of UTC is always positive. """ + if not self.timezone: + return 0 offset = self.timezone.utcoffset(self.data) # Only days can be negative, so negative offsets have days=-1 and # seconds positive. Positive offsets have days=0