feat(insta-lab): design_importer CLI entrypoint (python -m app.design_importer)
This commit is contained in:
@@ -259,3 +259,38 @@ def import_design_theme(theme_dir: str) -> Dict[str, Any]:
|
|||||||
"analysis_summary": vision_result["summary"],
|
"analysis_summary": vision_result["summary"],
|
||||||
"tokens_used": vision_result["tokens"],
|
"tokens_used": vision_result["tokens"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# ── CLI entrypoint ───────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
def main_cli():
|
||||||
|
"""CLI: python -m app.design_importer <theme_name> [--templates-dir PATH]"""
|
||||||
|
import argparse
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
prog="design_importer",
|
||||||
|
description="사용자 카드 디자인 PNG 10장을 Claude Vision으로 분석해 card.html.j2 생성",
|
||||||
|
)
|
||||||
|
parser.add_argument("theme_name", help="templates/<theme_name>/ 디렉토리명")
|
||||||
|
parser.add_argument(
|
||||||
|
"--templates-dir",
|
||||||
|
default="/app/app/templates",
|
||||||
|
help="templates 루트 디렉토리 (기본 컨테이너 내부 경로)",
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
theme_dir = Path(args.templates_dir) / args.theme_name
|
||||||
|
if not theme_dir.is_dir():
|
||||||
|
print(f"ERROR: theme 디렉토리 없음: {theme_dir}")
|
||||||
|
raise SystemExit(1)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = import_design_theme(str(theme_dir))
|
||||||
|
except Exception as e:
|
||||||
|
print(f"ERROR: {e}")
|
||||||
|
raise SystemExit(1)
|
||||||
|
|
||||||
|
print(json.dumps(result, ensure_ascii=False, indent=2))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main_cli()
|
||||||
|
|||||||
Reference in New Issue
Block a user