]> granicus.if.org Git - python/commitdiff
Check for time.struct_time in addition to tuples. Use 3 characters
authorMartin v. Löwis <martin@v.loewis.de>
Sat, 5 Jan 2002 11:31:49 +0000 (11:31 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Sat, 5 Jan 2002 11:31:49 +0000 (11:31 +0000)
for zone hours. Fixes #499169.

Lib/imaplib.py
Lib/test/test_imaplib.py [new file with mode: 0644]

index cbcf107dc60c1ffc7b846de4309814bca4542c1c..ed785ed3d42c409002ca416239a15bd0595ba3d2 100644 (file)
@@ -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 (file)
index 0000000..c0d6077
--- /dev/null
@@ -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)
+