"""Validate a Slidea style-pack manifest and referenced files."""
from __future__ import annotations
import argparse
import json
import logging
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
if str(ROOT) not in sys.path:
sys.path.append(str(ROOT))
from core.ppt_generator.utils.style_pack import validate_style_pack
logger = logging.getLogger(__name__)
def main() -> int:
logging.basicConfig(level=logging.INFO, format="%(message)s", stream=sys.stdout)
parser = argparse.ArgumentParser(description="Validate a Slidea style pack")
parser.add_argument("style_pack")
args = parser.parse_args()
manifest = validate_style_pack(args.style_pack)
logger.info(json.dumps({
"valid": True,
"style_pack": str(Path(args.style_pack).resolve()),
"pages": len(manifest["pages"]),
"reusable_assets": len(manifest.get("reusable_assets", [])),
}, ensure_ascii=False))
return 0
if __name__ == "__main__":
raise SystemExit(main())