import zipfile
import datetime
from pathlib import Path

WEB_FOLDER = Path("plots")
BACKUP_FOLDER = Path("backups")

today = datetime.date.today().strftime("%Y%m%d")
backup_name = f"backup-{today}.zip"
backup_path = BACKUP_FOLDER / backup_name

BACKUP_FOLDER.mkdir(parents=True, exist_ok=True)

if backup_path.exists():
    print(f"Backup already exists: {backup_path}")
else:
    print(f"Creating backup: {backup_path}")
    with zipfile.ZipFile(backup_path, "w", zipfile.ZIP_DEFLATED) as zipf:
        for path in WEB_FOLDER.rglob("*"):
            if path.is_file():
                arcname = path.relative_to(WEB_FOLDER.parent)
                zipf.write(path, arcname)
    print("✅ Backup complete.")
