]> granicus.if.org Git - python/commitdiff
Issue #10934: Fixed and expanded Internaldate2tuple() and
authorAlexander Belopolsky <alexander.belopolsky@gmail.com>
Wed, 19 Jan 2011 19:53:30 +0000 (19:53 +0000)
committerAlexander Belopolsky <alexander.belopolsky@gmail.com>
Wed, 19 Jan 2011 19:53:30 +0000 (19:53 +0000)
Time2Internaldate() documentation.  Thanks Joe Peterson for the report
and the original patch.

Doc/library/imaplib.rst
Lib/imaplib.py

index dc94bebf17eb81bc8802dd0b852ceb042721f328..632baa3c46173fbd781abf5310760a18fcebb983 100644 (file)
@@ -85,9 +85,9 @@ The following utility functions are defined:
 
 .. function:: Internaldate2tuple(datestr)
 
-   Converts an IMAP4 INTERNALDATE string to Coordinated Universal Time. Returns a
-   :mod:`time` module tuple.
-
+   Parse an IMAP4 ``INTERNALDATE`` string and return corresponding local
+   time.  The return value is a :class:`time.struct_time` tuple or
+   None if the string has wrong format.
 
 .. function:: Int2AP(num)
 
@@ -102,9 +102,13 @@ The following utility functions are defined:
 
 .. function:: Time2Internaldate(date_time)
 
-   Converts a :mod:`time` module tuple to an IMAP4 ``INTERNALDATE`` representation.
-   Returns a string in the form: ``"DD-Mmm-YYYY HH:MM:SS +HHMM"`` (including
-   double-quotes).
+   Convert *date_time* to an IMAP4 ``INTERNALDATE`` representation.  The
+   return value is a string in the form: ``"DD-Mmm-YYYY HH:MM:SS
+   +HHMM"`` (including double-quotes).  The *date_time* argument can be a
+   number (int or float) represening seconds since epoch (as returned
+   by :func:`time.time`), a 9-tuple representing local time (as returned by
+   :func:`time.localtime`), or a double-quoted string.  In the last case, it
+   is assumed to already be in the correct format.
 
 Note that IMAP4 message numbers change as the mailbox changes; in particular,
 after an ``EXPUNGE`` command performs deletions the remaining messages are
index 8c14728193da84f4b375a5f0c148d6212af9d375..4b8e898575fa9dafa1cfaccd380077329852b066 100644 (file)
@@ -1312,9 +1312,10 @@ 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}
 
 def Internaldate2tuple(resp):
-    """Convert IMAP4 INTERNALDATE to UT.
+    """Parse an IMAP4 INTERNALDATE string.
 
-    Returns Python time module tuple.
+    Return corresponding local time.  The return value is a
+    time.struct_time tuple or None if the string has wrong format.
     """
 
     mo = InternalDate.match(resp)
@@ -1381,9 +1382,14 @@ def ParseFlags(resp):
 
 def Time2Internaldate(date_time):
 
-    """Convert 'date_time' to IMAP4 INTERNALDATE representation.
+    """Convert date_time to IMAP4 INTERNALDATE representation.
 
-    Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"'
+    Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"'.  The
+    date_time argument can be a number (int or float) represening
+    seconds since epoch (as returned by time.time()), a 9-tuple
+    representing local time (as returned by time.localtime()), or a
+    double-quoted string.  In the last case, it is assumed to already
+    be in the correct format.
     """
 
     if isinstance(date_time, (int, float)):