#!/usr/bin/env python3
from __future__ import annotations

import csv
import os
import time
from pathlib import Path

import requests

API_BASE='https://api.webflow.com/v2'
MANIFEST=Path('/Users/iggy/.hermes/profiles/ignite_team/outbound/krb-image-grab/krb-webflow-page-images-uploaded-to-webflow.csv')


def main():
    token=os.environ.get('WEBFLOW_TOKEN')
    if not token: raise SystemExit('WEBFLOW_TOKEN required')
    rows=list(csv.DictReader(MANIFEST.open()))
    ids=sorted({r['asset_id'] for r in rows if r.get('asset_id')})
    h={'Authorization':'Bearer '+token,'accept':'application/json'}
    print(f'deleting {len(ids)} previously uploaded/deduped asset ids')
    ok=0
    for i, aid in enumerate(ids,1):
        r=requests.delete(f'{API_BASE}/assets/{aid}',headers=h,timeout=60)
        if r.status_code in (200,202,204,404):
            ok+=1
            print(f'[{i}/{len(ids)}] {aid} {r.status_code}')
        else:
            print(f'[{i}/{len(ids)}] {aid} ERROR {r.status_code} {r.text[:300]}')
        time.sleep(0.05)
    print('deleted_or_gone', ok)

if __name__=='__main__': main()
