Source code for abstract_api.image_processing.image_processing_response
from functools import cached_property
from typing import Optional
import requests
from ..core.bases import JSONResponse
from ._response_fields import RESPONSE_FIELDS
[docs]
class ImageProcessingResponse(JSONResponse):
"""Image processing service response."""
def __init__(
self,
response: requests.models.Response
) -> None:
"""Initializes a new ImageProcessingResponse."""
super().__init__(response, RESPONSE_FIELDS)
@cached_property
def original_size(self) -> Optional[int]:
"""The original size of the provided image, in bytes."""
return self._get_response_field("original_size")
@cached_property
def original_height(self) -> Optional[int]:
"""The original height of the provided image, in bytes."""
return self._get_response_field("original_height")
@cached_property
def original_width(self) -> Optional[int]:
"""The original width of the provided image, in bytes."""
return self._get_response_field("original_width")
@cached_property
def final_size(self) -> Optional[int]:
"""The final size of the processed image, in bytes."""
return self._get_response_field("final_size")
@cached_property
def bytes_saved(self) -> Optional[int]:
"""The number of bytes saved by optimizing the image, in bytes."""
return self._get_response_field("bytes_saved")
@cached_property
def final_height(self) -> Optional[int]:
"""The final height of the processed image, in bytes."""
return self._get_response_field("final_height")
@cached_property
def final_width(self) -> Optional[int]:
"""The final width of the processed image, in bytes."""
return self._get_response_field("final_width")
@cached_property
def url(self) -> Optional[str]:
"""The URL with the new processed image."""
return self._get_response_field("url")