rbtools.utils.mimetypes¶
Utilities for working with MIME types.
New in version 5.0.
Functions
|
Guess the MIME type of the given file content. |
|
Return a score for how well the pattern matches the mimetype. |
|
Parse a MIME type into its component parts. |
Classes
A MIME type, parsed into its component parts. |
- class rbtools.utils.mimetypes.MIMEType[source]¶
Bases:
TypedDictA MIME type, parsed into its component parts.
New in version 5.0.
- sub_type: str¶
Sub-type (for example, “plain” for “text/plain”).
This will include vendor information, if present.
- Type:
- vendor: str¶
The vendor tag, if available.
For example, “vnd.reviewboard.org.test” in “application/vnd.reviewboard.org.test+json”.
- Type:
- format: str¶
The sub-type format, if available.
For example, “json” in “application/vnd.reviewboard.org.test+json”.
- Type:
- __closed__ = False¶
- __extra_items__ = None¶
- __mutable_keys__ = frozenset({'format', 'main_type', 'sub_type', 'type', 'vendor'})¶
- __optional_keys__ = frozenset({})¶
- __orig_bases__ = (<function TypedDict>,)¶
- __readonly_keys__ = frozenset({})¶
- __required_keys__ = frozenset({'format', 'main_type', 'sub_type', 'type', 'vendor'})¶
- __total__ = True¶
- rbtools.utils.mimetypes.parse_mimetype(mime_type: str) MIMEType[source]¶
Parse a MIME type into its component parts.
New in version 5.0.
- Parameters:
mime_type (
str) – The MIME type to parse.- Returns:
The type, parsed into its component parts.
- Return type:
ParsedMIMEType- Raises:
ValueError – The given MIME type could not be parsed.
- rbtools.utils.mimetypes.guess_mimetype(*, data: bytes, filename: Optional[str] = None) str[source]¶
Guess the MIME type of the given file content.
New in version 5.0.
- rbtools.utils.mimetypes.match_mimetype(pattern: MIMEType, test: MIMEType) float[source]¶
Return a score for how well the pattern matches the mimetype.
This is an ordered list of precedence (
_indicates non-match):Format
Precedence
Type/Vendor+Subtype2.0
Type/Subtype1.9
Type/*1.8
*/Vendor+Subtype1.7
*/_ +Subtype1.6
*/*1.5
_0
New in version 5.0.
- Parameters:
pattern (
MIMEType) – A parsed mimetype pattern to score. This is a 3-tuple of the type, subtype, and parameters as returned bymimeparse.parse_mime_type(). This may include*wildcards.test (
MIMEType) – A parsed mimetype to match against the pattern. This is a 3-tuple of the type, subtype, and parameters as returned bymimeparse.parse_mime_type().
- Returns:
The resulting score for the match.
- Return type: