39 lines
792 B
Python
39 lines
792 B
Python
from PIL import Image
|
|
|
|
from app.exceptions.invalid_image_exception import InvalidImageException
|
|
|
|
|
|
class ImageValidator:
|
|
MIN_WIDTH = 50
|
|
MIN_HEIGHT = 50
|
|
|
|
MAX_WIDTH = 10000
|
|
MAX_HEIGHT = 10000
|
|
|
|
def validate(
|
|
self,
|
|
image: Image.Image
|
|
) -> None:
|
|
|
|
width, height = image.size
|
|
|
|
if width < self.MIN_WIDTH:
|
|
raise InvalidImageException(
|
|
f"Image width is too small: {width}"
|
|
)
|
|
|
|
if height < self.MIN_HEIGHT:
|
|
raise InvalidImageException(
|
|
f"Image height is too small: {height}"
|
|
)
|
|
|
|
if width > self.MAX_WIDTH:
|
|
raise InvalidImageException(
|
|
f"Image width is too large: {width}"
|
|
)
|
|
|
|
if height > self.MAX_HEIGHT:
|
|
raise InvalidImageException(
|
|
f"Image height is too large: {height}"
|
|
)
|