betty.media_type package

Submodules

Module contents

Provide media type handling utilities.

exception betty.media_type.InvalidMediaType

Bases: ValueError

Raised when an identifier is not a valid media type.

final class betty.media_type.MediaType

Bases: Data, Portable

Define a media type.

Media types are also commonly known as content types or MIME types.

__init__(media_type: str, *, extensions: Sequence[str] = ())
dump() PortableData

Dump the instance to portable data.

Raises:

betty.portable.error.NotPortable – Raised if any part of the data is not portable.

property extensions: Sequence[str]

The file extensions associated with this media type.

Extensions must include a leading dot, and are returned in order of decreasing priority.

classmethod load(portable: PortableData, /) Self

Create a new instance from portable data.

Raises:

betty.exception.HumanFacingException – Raised if the portable data is invalid.

property parameters: Mapping[str, str]

The parameters, e.g. {"charset": "UTF-8"} for "text/html; charset=UTF-8".

property subtype: str

The subtype, e.g. "vnd.oasis.opendocument.text" for "application/vnd.oasis.opendocument.text".

property subtypes: Sequence[str]

The subtype parts, e.g. ["vnd", "oasis", "opendocument", "text"] for "application/vnd.oasis.opendocument.text".

property suffix: str | None

The suffix, e.g. json for application/ld+json.

property type: str

The type, e.g. application for application/ld+json.

final class betty.media_type.MediaTypeDefinition

Bases: HumanFacingDefinition, OrderedPluginDefinition

The media type plugin type.

Plugin type ID

media-type

Definition

@MediaTypeDefinition(...)

Built-in media types:

__init__(plugin_id: ResolvableMachineName, *, label: ResolvableLocalizable, description: ResolvableLocalizable | None = None, media_type: MediaType, after: Order[MediaTypeDefinition] = (), auto: bool = True, before: Order[MediaTypeDefinition] = ())
property media_type: MediaType

The media type.

static type() PluginTypeDefinition[Self]

The plugin type definition.

exception betty.media_type.UnsupportedMediaType

Bases: RuntimeError

Raised when a media type is not supported.

__init__(media_type: MediaTypeIndicator)
betty.media_type.match_extension(source: StrPath, media_types: Iterable[MediaType], /) tuple[MediaType, str]

Match a file extension indicator against available media types.

betty.media_type.match_media_type(source: MediaType, media_types: Iterable[MediaType]) MediaType

Match a media type against available media types.

betty.media_type.resolve_media_type(media_type: ResolvableMediaType, /) MediaType

Resolve a media type.