summaryrefslogtreecommitdiff
path: root/README
blob: ea9d942ff45f794b4c11469fe68eac34b97ad536 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
This module provides basic functions for handling mime-types. It can handle
matching mime-types against a list of media-ranges. See section 14.1 of
the HTTP specification [RFC 2616] for a complete explanation.

   http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1

Contents:
    - parse_mime_type():   Parses a mime-type into its component parts.
    - parse_media_range(): Media-ranges are mime-types with wild-cards and a "q" quality parameter.
    - quality():           Determines the quality ("q") of a mime-type when compared against a list of media-ranges.
    - quality_parsed():    Just like quality() except the second parameter must be pre-parsed.
    - best_match():        Choose the mime-type with the highest quality ("q") from a list of candidates.

Testing
=======
The format of the JSON test data file is as follows:
A top-level JSON object which has a key for each of the functions to be tested. The value corresponding to that key is a list of tests. Each test contains: the argument or arguments to the function being tested, the expected results and an optional description.

Python
======
The Python tests require Python 2.6.

Run the tests by typing:
python mimeparse_test.py

Make sure the package conforms to the PEP8 style guide:
pep8 --statistics --show-source --ignore=E501 --exclude=venv .

Check the code for simple warnings and errors:
pyflakes mimeparse.py mimeparse_test.py setup.py

You may need to install pep8 and pyflakes via pip to run these 2 tests.