def _parse_qualified_list(value):
    """
    Parse a header value, returning a sorted list of values based upon
    the quality rules specified in https://tools.ietf.org/html/rfc7231 for
    the Accept-* headers.

    :param str value: The value to parse into a list
    :rtype: list

    """
    found_wildcard = False
    values, rejected_values = [], []
    parsed = parse_list(value)
    default = float(len(parsed) + 1)
    highest = default + 1.0
    for raw_str in parsed:
        charset, _, parameter_str = raw_str.replace(' ', '').partition(';')
        if charset == '*':
            found_wildcard = True
            continue
        params = dict(_parse_parameter_list(parameter_str.split(';')))
        quality = float(params.pop('q', default))
        if quality < 0.001:
            rejected_values.append(charset)
        elif quality == 1.0:
            values.append((highest + default, charset))
        else:
            values.append((quality, charset))
        default -= 1.0
    parsed = [value[1] for value in sorted(values, reverse=True)]
    if found_wildcard:
        parsed.append('*')
    parsed.extend(rejected_values)
    return parsed
def _parse_qualified_list(value):
    """
    Parse a header value, returning a sorted list of values based upon
    the quality rules specified in https://tools.ietf.org/html/rfc7231 for
    the Accept-* headers.

    :param str value: The value to parse into a list
    :rtype: list

    """
    found_wildcard = False
    values, rejected_values = [], []
    parsed = parse_list(value)
    default = float(len(parsed) + 1)
    highest = default + 1.0
    for raw_str in parsed:
        charset, _, parameter_str = raw_str.replace(' ', '').partition(';')
        if charset == '*':
            found_wildcard = True
            continue
        params = dict(_parse_parameter_list(parameter_str.split(';')))
        quality = float(params.pop('q', default))
        if quality < 0.001:
            rejected_values.append(charset)
        elif quality == 1.0:
            values.append((highest + default, charset))
        else:
            values.append((quality, charset))
        default -= 1.0
    parsed = [value[1] for value in sorted(values, reverse=True)]
    if found_wildcard:
        parsed.append('*')
    parsed.extend(rejected_values)
    return parsed
def _parse_qualified_list ( value ) : found_wildcard = False values , rejected_values = [ ] , [ ] parsed = parse_list ( value ) default = float ( len ( parsed ) + 1 ) highest = default + 1.0 for raw_str in parsed : charset , _ , parameter_str = raw_str . replace ( ' ' , '' ) . partition ( ';' ) if charset == '*' : found_wildcard = True continue params = dict ( _parse_parameter_list ( parameter_str . split ( ';' ) ) ) quality = float ( params . pop ( 'q' , default ) ) if quality < 0.001 : rejected_values . append ( charset ) elif quality == 1.0 : values . append ( ( highest + default , charset ) ) else : values . append ( ( quality , charset ) ) default -= 1.0 parsed = [ value [ 1 ] for value in sorted ( values , reverse = True ) ] if found_wildcard : parsed . append ( '*' ) parsed . extend ( rejected_values ) return parsed
Parse a header value, returning a sorted list of values based upon
    the quality rules specified in https://tools.ietf.org/html/rfc7231 for
    the Accept-* headers.

    :param str value: The value to parse into a list
    :rtype: list
Parse a header value returning a sorted list of values based upon the quality rules specified in https : // tools . ietf . org / html / rfc7231 for the Accept - * headers .