diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/email/_parseaddr.py | 9 |
1 files changed, 8 insertions, 1 deletions
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 @@ 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: |