Issue #10281: nntplib now returns None for absent fields in the OVER/XOVER

response, instead of raising an exception.
This commit is contained in:
Antoine Pitrou 2010-11-03 18:18:43 +00:00
parent 33d144aa36
commit 4103bc09a4
4 changed files with 35 additions and 4 deletions

View file

@ -205,11 +205,12 @@ def _parse_overview(lines, fmt, data_process_func=None):
is_metadata = field_name.startswith(':')
if i >= n_defaults and not is_metadata:
# Non-default header names are included in full in the response
h = field_name + ":"
if token[:len(h)].lower() != h:
# (unless the field is totally empty)
h = field_name + ": "
if token and token[:len(h)].lower() != h:
raise NNTPDataError("OVER/XOVER response doesn't include "
"names of additional headers")
token = token[len(h):].lstrip(" ")
token = token[len(h):] if token else None
fields[fmt[i]] = token
overview.append((article_number, fields))
return overview