parsedate_tz(): Fix SF bug #552345, optional FWS between the comma and
the day in an RFC 2822 date.
diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py
index a65cd6b..ef9423a 100644
--- a/Lib/email/_parseaddr.py
+++ b/Lib/email/_parseaddr.py
@@ -47,9 +47,16 @@
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: