Issue 735248: urllib2 parse_http_list wrong return (original) (raw)
parse_http_list should split a string on commas, unless the commas are within a quoted-string. (It allows only the "" quote, and not the single-quote, but this seems to follow the RFC.)
If there are not quoted-strings, it repeats the first tokens as part of subsequent tokens.
parse_http_list ('a,b') => ['a','a,b'] It should return ['a','b']
parse_http_list ('a,b,c') => ['a','a,b','a,b,c'] It should return ['a','b','c']
Patch: On (cvs version) line 882, when no quote is found and inquote is false, reset the start position to after the comma.
if q == -1:
if inquote:
raise ValueError, "unbalanced quotes"
else:
list.append(s[start:i+c])
i = i + c + 1
start = i #New line
continue
Logged In: YES user_id=261020
This function doesn't deal with quoting of characters inside quoted-strings, either. In particular, it doesn't deal with ", \, and , (see RFC 2616, section 2.2, quoted-pair).