import json
from pathlib import Path
from urllib.parse import urlsplit,urlunsplit
seen=set();kept=[];excluded=[]
for row in json.loads(Path('source-candidates.json').read_text()):
 u=urlsplit(row['url']);key=urlunsplit((u.scheme,u.netloc,u.path,'',''))
 if key in seen:excluded.append(row['id'])
 else:seen.add(key);kept.append(row['id'])
assert kept==['S01','S03','S04'] and excluded==['S02']
Path('curation-result.json').write_text(json.dumps({'kept':kept,'excluded':excluded,'identity':'local URL curation only, no cloud import'},indent=2))
print('Kept S01 S03 S04; duplicate S02 excluded; no cloud import claimed.')
