util: oops, time.tzset() doesn't work on Windows -- hopefully the new "London" unit test passes on Windows when we skip tzset() on platforms that don't have it

This commit is contained in:
Zooko O'Whielacronx 2009-06-11 17:09:20 -07:00
parent 3db5de5846
commit 4a30c5899c
2 changed files with 8 additions and 4 deletions

View File

@ -779,7 +779,8 @@ class TimeFormat(unittest.TestCase):
# that implementation to something that works even in this case...)
origtz = os.environ.get('TZ')
os.environ['TZ'] = "Europe/London"
time.tzset()
if hasattr(time, 'tzset'):
time.tzset()
try:
return self._help_test_epoch()
finally:
@ -787,7 +788,8 @@ class TimeFormat(unittest.TestCase):
del os.environ['TZ']
else:
os.environ['TZ'] = origtz
time.tzset()
if hasattr(time, 'tzset'):
time.tzset()
def _help_test_epoch(self):
s = time_format.iso_utc_time_to_seconds("1970-01-01T00:00:01")

View File

@ -44,7 +44,8 @@ def iso_utc_time_to_seconds(isotime, _conversion_re=re.compile(r"(?P<year>\d{4})
origtz = os.environ.get('TZ')
os.environ['TZ'] = "UTC"
time.tzset()
if hasattr(time, 'tzset'):
time.tzset()
try:
return time.mktime( (year, month, day, hour, minute, second, 0, 1, 0) ) + subsecfloat
finally:
@ -52,7 +53,8 @@ def iso_utc_time_to_seconds(isotime, _conversion_re=re.compile(r"(?P<year>\d{4})
del os.environ['TZ']
else:
os.environ['TZ'] = origtz
time.tzset()
if hasattr(time, 'tzset'):
time.tzset()
def parse_duration(s):
orig = s