MCPcopy
hub / github.com/pyload/pyload / _parse_date_rfc822

Function _parse_date_rfc822

module/lib/feedparser.py:3313–3334  ·  view source on GitHub ↗

Parse an RFC822, RFC1123, RFC2822, or asctime-style date

(dateString)

Source from the content-addressed store, hash-verified

3311registerDateHandler(_parse_date_w3dtf)
3312
3313def _parse_date_rfc822(dateString):
3314 '''Parse an RFC822, RFC1123, RFC2822, or asctime-style date'''
3315 data = dateString.split()
3316 if data[0][-1] in (',', '.') or data[0].lower() in rfc822._daynames:
3317 del data[0]
3318 if len(data) == 4:
3319 s = data[3]
3320 i = s.find('+')
3321 if i > 0:
3322 data[3:] = [s[:i], s[i+1:]]
3323 else:
3324 data.append('')
3325 dateString = " ".join(data)
3326 # Account for the Etc/GMT timezone by stripping 'Etc/'
3327 elif len(data) == 5 and data[4].lower().startswith('etc/'):
3328 data[4] = data[4][4:]
3329 dateString = " ".join(data)
3330 if len(data) < 5:
3331 dateString += ' 00:00:00 GMT'
3332 tm = rfc822.parsedate_tz(dateString)
3333 if tm:
3334 return time.gmtime(rfc822.mktime_tz(tm))
3335# rfc822.py defines several time zones, but we define some extra ones.
3336# 'ET' is equivalent to 'EST', etc.
3337_additional_timezones = {'AT': -400, 'ET': -500, 'CT': -600, 'MT': -700, 'PT': -800}

Callers 1

_parse_date_greekFunction · 0.85

Calls 4

splitMethod · 0.80
joinMethod · 0.80
findMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected