feat(insta-lab): design_importer image dimension 검증 (1080x1350)
This commit is contained in:
@@ -12,11 +12,17 @@ from PIL import Image
|
|||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"_resolve_page_mapping",
|
||||||
|
"_validate_images",
|
||||||
|
]
|
||||||
|
|
||||||
# 페이지 1 (커버) 키워드 우선순위 — 먼저 매치된 키워드를 가진 첫 파일만 page 1
|
# 페이지 1 (커버) 키워드 우선순위 — 먼저 매치된 키워드를 가진 첫 파일만 page 1
|
||||||
_COVER_KEYWORDS = ("cover", "start", "intro")
|
_COVER_KEYWORDS = ("cover", "start", "intro")
|
||||||
# 페이지 10 (CTA) 키워드 우선순위
|
# 페이지 10 (CTA) 키워드 우선순위
|
||||||
_CTA_KEYWORDS = ("cta", "outro", "finish", "end")
|
_CTA_KEYWORDS = ("cta", "outro", "finish", "end")
|
||||||
|
|
||||||
|
# 인스타그램 카드 규격 (세로형 4:5 비율)
|
||||||
_EXPECTED_SIZE = (1080, 1350)
|
_EXPECTED_SIZE = (1080, 1350)
|
||||||
|
|
||||||
|
|
||||||
@@ -87,7 +93,10 @@ def _build_mapping(pngs: List[str]) -> Dict[str, int]:
|
|||||||
|
|
||||||
|
|
||||||
def _validate_images(pages_dir: Path) -> None:
|
def _validate_images(pages_dir: Path) -> None:
|
||||||
"""모든 PNG가 정확히 1080×1350인지 검증. 다르면 ValueError."""
|
"""모든 PNG가 정확히 1080×1350인지 검증. 다르면 ValueError.
|
||||||
|
|
||||||
|
early-exit 하지 않고 전체 파일을 검사한 뒤 한 메시지에 모아 raise.
|
||||||
|
"""
|
||||||
pages_dir = Path(pages_dir)
|
pages_dir = Path(pages_dir)
|
||||||
bad = []
|
bad = []
|
||||||
for png_path in sorted(pages_dir.glob("*.png")):
|
for png_path in sorted(pages_dir.glob("*.png")):
|
||||||
|
|||||||
Reference in New Issue
Block a user