parsedate_tz(): Fix SF bug #552345, optional FWS between the comma and
authorBarry Warsaw <barry@python.org>
Mon, 30 Dec 2002 17:21:36 +0000 (17:21 +0000)
committerBarry Warsaw <barry@python.org>
Mon, 30 Dec 2002 17:21:36 +0000 (17:21 +0000)
the day in an RFC 2822 date.

Lib/email/_parseaddr.py

index a65cd6b851982a20e53d3e452e6d702e7226b482..ef9423aadf7ac117533bad2960484b9e2df95c9e 100644 (file)
@@ -47,9 +47,16 @@ def parsedate_tz(data):
     Accounts for military timezones.
     """
     data = data.split()
-    if data[0][-1] in (',', '.') or data[0].lower() in _daynames:
+    # The FWS after the comma after the day-of-week is optional, so search and
+    # adjust for this.
+    if data[0].endswith(',') or data[0].lower() in _daynames:
         # There's a dayname here. Skip it
         del data[0]
+    else:
+        i = data[0].rfind(',')
+        if i < 0:
+            return None
+        data[0] = data[0][i+1:]
     if len(data) == 3: # RFC 850 date, deprecated
         stuff = data[0].split('-')
         if len(stuff) == 3: