From: Alexander Belopolsky Date: Sat, 29 Jan 2011 17:19:08 +0000 (+0000) Subject: Issue #10939: Fixed imaplib.Internaldate2tuple(). Thanks Joe Peterson X-Git-Tag: v3.2rc2~20 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=19e0a9e5111fc4ef16d6b51a61f099a18c0b3b20;p=python Issue #10939: Fixed imaplib.Internaldate2tuple(). Thanks Joe Peterson for the report and the patch. Reviewed by Georg Brandl. --- diff --git a/Lib/imaplib.py b/Lib/imaplib.py index 4b8e898575..1022e77c4f 100644 --- a/Lib/imaplib.py +++ b/Lib/imaplib.py @@ -1308,8 +1308,8 @@ class _Authenticator: -Mon2num = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6, - 'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12} +Mon2num = {b'Jan': 1, b'Feb': 2, b'Mar': 3, b'Apr': 4, b'May': 5, b'Jun': 6, + b'Jul': 7, b'Aug': 8, b'Sep': 9, b'Oct': 10, b'Nov': 11, b'Dec': 12} def Internaldate2tuple(resp): """Parse an IMAP4 INTERNALDATE string. @@ -1336,7 +1336,7 @@ def Internaldate2tuple(resp): # INTERNALDATE timezone must be subtracted to get UT zone = (zoneh*60 + zonem)*60 - if zonen == '-': + if zonen == b'-': zone = -zone tt = (year, mon, day, hour, min, sec, -1, -1, -1) diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py index acb89e37b4..bad4d19b59 100644 --- a/Lib/test/test_imaplib.py +++ b/Lib/test/test_imaplib.py @@ -23,6 +23,17 @@ CERTFILE = None class TestImaplib(unittest.TestCase): + def test_Internaldate2tuple(self): + tt = imaplib.Internaldate2tuple( + b'25 (INTERNALDATE "01-Jan-1970 00:00:00 +0000")') + self.assertEqual(time.mktime(tt), 0) + tt = imaplib.Internaldate2tuple( + b'25 (INTERNALDATE "01-Jan-1970 11:30:00 +1130")') + self.assertEqual(time.mktime(tt), 0) + tt = imaplib.Internaldate2tuple( + b'25 (INTERNALDATE "31-Dec-1969 12:30:00 -1130")') + self.assertEqual(time.mktime(tt), 0) + def test_that_Time2Internaldate_returns_a_result(self): # We can check only that it successfully produces a result, # not the correctness of the result itself, since the result diff --git a/Misc/ACKS b/Misc/ACKS index 5256cfb711..02e5d9168d 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -653,6 +653,7 @@ Trevor Perrin Gabriel de Perthuis Tim Peters Benjamin Peterson +Joe Peterson Chris Petrilli Bjorn Pettersen Geoff Philbrick