Commit 5bdd618a authored by Martin v. Löwis's avatar Martin v. Löwis

Check for time.struct_time in addition to tuples. Use 3 characters

for zone hours. Fixes #499169.
parent 72ed6884
...@@ -1069,12 +1069,12 @@ def Time2Internaldate(date_time): ...@@ -1069,12 +1069,12 @@ def Time2Internaldate(date_time):
Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"' Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"'
""" """
dttype = type(date_time) if isinstance(date_time, int) or isinstance(date_time, float):
if dttype is type(1) or dttype is type(1.1):
tt = time.localtime(date_time) tt = time.localtime(date_time)
elif dttype is type(()): elif isinstance(date_time, tuple) or \
isinstance(date_time, time.struct_time):
tt = date_time tt = date_time
elif dttype is type(""): elif isinstance(date_time, str):
return date_time # Assume in correct format return date_time # Assume in correct format
else: raise ValueError else: raise ValueError
...@@ -1085,7 +1085,7 @@ def Time2Internaldate(date_time): ...@@ -1085,7 +1085,7 @@ def Time2Internaldate(date_time):
zone = -time.altzone zone = -time.altzone
else: else:
zone = -time.timezone zone = -time.timezone
return '"' + dt + " %+02d%02d" % divmod(zone/60, 60) + '"' return '"' + dt + " %+03d%02d" % divmod(zone/60, 60) + '"'
......
from test_support import verify,verbose
import imaplib
import time
# We can check only that it successfully produces a result,
# not the correctness of the result itself, since the result
# depends on the timezone the machine is in.
timevalues = [2000000000, 2000000000.0, time.localtime(2000000000),
"18-May-2033 05:33:20 +0200"]
for t in timevalues:
imaplib.Time2Internaldate(t)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment