Source code for imgproxykit.options.format_quality
from dataclasses import dataclass
from typing import ClassVar, override
from imgproxykit.options.base import Option
from imgproxykit.types import Argument, FormatType, OptionType
[docs]
@dataclass(frozen=True, slots=True, kw_only=True)
class FormatQuality(Option):
"""
Set quality for each supplied output format.
Adds or overrides server quality settings for the listed formats.
Attributes:
qualities: Ordered pairs of output format and quality percentage.
Usage:
>>> option = FormatQuality(qualities=(('jpg', 85), ('webp', 80)))
>>> option.arguments
('jpg', 85, 'webp', 80)
See `imgproxy format quality
<https://docs.imgproxy.net/usage/processing#format-quality>`_.
"""
qualities: tuple[tuple[FormatType, int], ...]
name: ClassVar[OptionType] = 'format_quality'
@property
@override
def arguments(self) -> tuple[Argument, ...]:
"""Positional arguments in imgproxy protocol order."""
return tuple(argument for pair in self.qualities for argument in pair)