diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2002-01-05 11:31:49 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2002-01-05 11:31:49 (GMT) |
commit | ea752fbb8697a6f01c5556f5422450187c8c5445 (patch) | |
tree | 220d846d8016ecf2df2b4cc7257f811bafa18fa1 | |
parent | b0d71d0ec6e575b7c379d55cb8366b26509ece53 (diff) | |
download | cpython-ea752fbb8697a6f01c5556f5422450187c8c5445.zip cpython-ea752fbb8697a6f01c5556f5422450187c8c5445.tar.gz cpython-ea752fbb8697a6f01c5556f5422450187c8c5445.tar.bz2 |
Check for time.struct_time in addition to tuples. Use 3 characters
for zone hours. Fixes #499169.
-rw-r--r-- | Lib/imaplib.py | 10 | ||||
-rw-r--r-- | Lib/test/test_imaplib.py | 14 |
2 files changed, 19 insertions, 5 deletions
diff --git a/Lib/imaplib.py b/Lib/imaplib.py index cbcf107..ed785ed 100644 --- a/Lib/imaplib.py +++ b/Lib/imaplib.py @@ -1069,12 +1069,12 @@ def Time2Internaldate(date_time): Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"' """ - dttype = type(date_time) - if dttype is type(1) or dttype is type(1.1): + if isinstance(date_time, int) or isinstance(date_time, float): tt = time.localtime(date_time) - elif dttype is type(()): + elif isinstance(date_time, tuple) or \ + isinstance(date_time, time.struct_time): tt = date_time - elif dttype is type(""): + elif isinstance(date_time, str): return date_time # Assume in correct format else: raise ValueError @@ -1085,7 +1085,7 @@ def Time2Internaldate(date_time): zone = -time.altzone else: zone = -time.timezone - return '"' + dt + " %+02d%02d" % divmod(zone/60, 60) + '"' + return '"' + dt + " %+03d%02d" % divmod(zone/60, 60) + '"' diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py new file mode 100644 index 0000000..c0d6077 --- /dev/null +++ b/Lib/test/test_imaplib.py @@ -0,0 +1,14 @@ +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) + |