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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
Metadata-Version: 2.1
Name: python-mimeparse
Version: 2.0.0
Summary: A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges.
Author-email: Joe Gregorio <joe@bitworking.org>, DB Tsai <dbtsai@dbtsai.com>
Maintainer-email: Falconry team <mail@kgriffs.com>
License: MIT
Project-URL: Homepage, https://github.com/falconry/python-mimeparse
Project-URL: Issue Tracker, https://github.com/falconry/python-mimeparse/issues
Project-URL: Funding, https://opencollective.com/falcon
Project-URL: Chat, https://gitter.im/falconry/user
Keywords: mime-type,media-type
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
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 3.8+ 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``.
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.
|