Address late review comments on image entity URL support (#95338)

This commit is contained in:
Erik Montnemery 2023-06-27 13:22:59 +02:00 committed by GitHub
parent 968bc25259
commit 723f6d35b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -167,10 +167,7 @@ class ImageEntity(Entity):
"""Return bytes of image."""
raise NotImplementedError()
async def async_image(self) -> bytes | None:
"""Return bytes of image."""
async def _async_load_image_from_url(url: str) -> Image | None:
async def _async_load_image_from_url(self, url: str) -> Image | None:
"""Load an image by url."""
try:
response = await self._client.get(
@ -193,10 +190,13 @@ class ImageEntity(Entity):
)
return None
async def async_image(self) -> bytes | None:
"""Return bytes of image."""
if self._cached_image:
return self._cached_image.content
if (url := self.image_url) is not UNDEFINED:
if not url or (image := await _async_load_image_from_url(url)) is None:
if not url or (image := await self._async_load_image_from_url(url)) is None:
return None
self._cached_image = image
self._attr_content_type = image.content_type