a timezone of Z means UTC

Adaptation of patch presented here:
http://code.google.com/p/pyiso8601/issues/detail?id=15
This commit is contained in:
Brian Sutherland
2013-08-16 12:51:56 +02:00
parent 7534ec37b1
commit 4eecf892f3
2 changed files with 9 additions and 3 deletions

View File

@@ -95,7 +95,7 @@ def parse_timezone(tzstring, default_timezone=UTC):
"""
if tzstring == "Z":
return default_timezone
return UTC
# This isn't strictly correct, but it's common to encounter dates without
# timezones so I'll assume the default (which defaults to UTC).
# Addresses issue 4.

View File

@@ -71,15 +71,21 @@ class Test_FixedOffset(unittest.TestCase):
self.assertEqual(result, "<FixedOffset 'oneandahalf'>")
class Test_parse_timezone(unittest.TestCase):
def _callFUT(self, tzstring):
def _callFUT(self, tzstring, **kw):
from ..iso8601 import parse_timezone
return parse_timezone(tzstring)
return parse_timezone(tzstring, **kw)
def test_default_Z(self):
from ..iso8601 import UTC
result = self._callFUT('Z')
self.assertEqual(result, UTC)
def test_Z_with_default_timezone(self):
from ..iso8601 import UTC, FixedOffset
tz = FixedOffset(1, 0, 'myname')
result = self._callFUT('Z', default_timezone=tz)
self.assertEqual(result, UTC)
def test_default_None(self):
from ..iso8601 import UTC
result = self._callFUT(None)