summaryrefslogtreecommitdiff
path: root/README.rst
diff options
context:
space:
mode:
authorAdam Chainz <me@adamj.eu>2016-09-28 21:12:32 +0100
committerStefan Wójcik <wojcikstefan@gmail.com>2016-09-28 16:12:32 -0400
commit7799be4a1cd2d68f70293a515bba1392b989531b (patch)
tree05aedb0ac342c0d36e4ff2aeec9154d3b7086970 /README.rst
parent9e6ee2f9f0977a3375e65b417543c50450a1db1b (diff)
downloadpython-mimeparse-7799be4a1cd2d68f70293a515bba1392b989531b.tar.gz
setup.py + README tidying (#22)
* Convert `README.md` to `README.rst` since rst is all that PyPI supports * Tidy up README so all functions are explained with their own headers * Use context managers for opening files in `setup.py` * Don't import the code in `setup.py`, which doesn't work on some platforms before it's installed. Instead use parsing of the file to find the version.
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst65
1 files changed, 65 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..f1f8c81
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,65 @@
+.. image:: https://travis-ci.org/dbtsai/python-mimeparse.svg?branch=master
+ :target: https://travis-ci.org/dbtsai/python-mimeparse
+
+This module provides basic functions for handling mime-types. It can
+handle matching mime-types against a list of media-ranges. See section
+5.3.2 of the HTTP 1.1 Semantics and Content specification [RFC 7231] for
+a complete explanation: https://tools.ietf.org/html/rfc7231#section-5.3.2
+
+Installation
+============
+
+Use **pip**:
+
+.. code-block:: sh
+
+ $ pip install python-mimeparse
+
+It supports Python 2.7 - 3.5 and PyPy.
+
+Functions
+=========
+
+``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
+=======
+
+Run the tests by typing: ``python mimeparse_test.py``. The tests require Python 2.6.
+
+To make sure that the package works in all the supported environments, you can
+run **tox** tests:
+
+.. code-block:: sh
+
+ $ pip install tox
+ $ tox
+
+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.