feat(insta-lab): design_importer image dimension 검증 (1080x1350)

This commit is contained in:
2026-05-18 00:10:44 +09:00
parent 54c677f75a
commit 0bddc5c607

View File

@@ -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")):