- Create ImageProcessor service with EXIF orientation detection - Implement smart cropping via OpenCV contour detection (10% padding) - Add text orientation detection using Hough line transform - Resize and compress images to 1200px with 85% JPEG quality - Generate 200px square thumbnails with center crop - Fallback to Pillow if OpenCV fails - Comprehensive test suite: 28 tests all passing - File size validation (reject >10MB) - Graceful error handling for corrupted/invalid images - Update requirements.txt with opencv-python, piexif, python-magic
28 lines
794 B
Python
28 lines
794 B
Python
from typing import overload
|
|
|
|
__all__ = [
|
|
"ComplexWarning",
|
|
"VisibleDeprecationWarning",
|
|
"ModuleDeprecationWarning",
|
|
"TooHardError",
|
|
"AxisError",
|
|
"DTypePromotionError",
|
|
]
|
|
|
|
class ComplexWarning(RuntimeWarning): ...
|
|
class ModuleDeprecationWarning(DeprecationWarning): ...
|
|
class VisibleDeprecationWarning(UserWarning): ...
|
|
class RankWarning(RuntimeWarning): ...
|
|
class TooHardError(RuntimeError): ...
|
|
class DTypePromotionError(TypeError): ...
|
|
|
|
class AxisError(ValueError, IndexError):
|
|
__slots__ = "_msg", "axis", "ndim"
|
|
|
|
axis: int | None
|
|
ndim: int | None
|
|
@overload
|
|
def __init__(self, axis: str, ndim: None = None, msg_prefix: None = None) -> None: ...
|
|
@overload
|
|
def __init__(self, axis: int, ndim: int, msg_prefix: str | None = None) -> None: ...
|