Coverage for src/blob_dict/blob/image.py: 0%

15 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-03-29 08:37 -0700

1from __future__ import annotations 

2 

3from typing import override 

4 

5from extratools_image import bytes_to_image, image_to_bytes 

6from PIL.Image import Image 

7 

8from . import BytesBlob 

9 

10 

11class ImageBlob(BytesBlob): 

12 def __init__(self, blob: bytes | Image) -> None: 

13 if isinstance(blob, Image): 

14 blob = image_to_bytes(blob) 

15 

16 super().__init__(blob) 

17 

18 def as_image(self) -> Image: 

19 return bytes_to_image(self._blob_bytes) 

20 

21 @override 

22 def __repr__(self) -> str: 

23 return f"{self.__class__.__name__}(...)"