def parse_content_type(content_type, normalize_parameter_values=True):
parts = _remove_comments(content_type).split('<STR_LIT:;>')<EOL>content_type, content_subtype = parts.pop(<NUM_LIT:0>).split('<STR_LIT:/>')<EOL>if '<STR_LIT:+>' in content_subtype:<EOL><INDENT>content_subtype, content_suffix = content_subtype.split('<STR_LIT:+>')<EOL><DEDENT>else:<EOL><INDENT>content_suffix = None<EOL><DEDENT>parameters = _parse_parameter_list(<EOL>parts, normalize_parameter_values=normalize_parameter_values)<EOL>return datastructures.ContentType(content_type, content_subtype,<EOL>dict(parameters),<EOL>content_suffix)<EOL>
Parse a content type like header.

    :param str content_type: the string to parse as a content type
    :param bool normalize_parameter_values:
        setting this to ``False`` will enable strict RFC2045 compliance
        in which content parameter values are case preserving.
    :return: a :class:`~ietfparse.datastructures.ContentType` instance