from pathlib import Path import json,sys r=Path(sys.argv[1]) if (r/'SHARDS.json').exists(): meta=json.loads((r/'SHARDS.json').read_text());current=0 for child in sorted(r.glob('shard-*')): if (child/'progress.json').exists():current+=json.loads((child/'progress.json').read_text()).get('current',0) s={'current':current,'total':meta['total'],'failed':False} else:s=json.loads((r/'progress.json').read_text()) s['done']=(r/'VERIFIED.json').exists() if (r/'FAILED.json').exists():s.update(failed=True,error=json.loads((r/'FAILED.json').read_text())['error']) print(json.dumps(s,separators=(',',':')))