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).