#!/usr/bin/env python3
"""Importe localement les polices depuis le ZIP DERMAROC ORIGINAL de l'utilisateur.
Aucun fichier de police n'est redistribué dans le livrable.
"""
from pathlib import Path
import zipfile,sys
if len(sys.argv)!=2: raise SystemExit('Usage: python3 bin/import_fonts_from_source.py chemin/DERMAROC_MIX_RESPONSIVE.zip')
source=Path(sys.argv[1])
if not source.is_file():raise SystemExit('ZIP source introuvable')
out=Path(__file__).resolve().parents[1]/'public/assets/store/fonts'
count=0
with zipfile.ZipFile(source) as z:
 for member in z.infolist():
  name=member.filename.replace('\\','/')
  if not name.startswith('assets/fonts/') or member.is_dir(): continue
  rel=Path(name).relative_to('assets/fonts')
  if rel.suffix.lower() not in ('.woff2','.ttf') or '..' in rel.parts:continue
  dest=out/rel
  dest.parent.mkdir(parents=True,exist_ok=True)
  with z.open(member) as r, dest.open('wb') as w:
   while True:
    data=r.read(65536)
    if not data:break
    w.write(data)
  count+=1
print(f'Ressources typographiques personnelles importées localement : {count}')
