import json, glob, sys
D = '/var/www/html/peta/storage/app/propertylab-catalogue-match'; R = f'{D}/review'
final = {f['scheme_id']: f for f in json.load(open(f'{D}/final.json'))}
key3 = json.load(open(f'{R}/_key3.json'))
cases, v = {}, {}
for fn in glob.glob(f'{R}/v_*_in.jsonl'):
    for l in open(fn): c = json.loads(l); cases[c['case']] = c
for fn in glob.glob(f'{R}/v_*_out.jsonl'):
    for l in open(fn):
        if l.strip(): x = json.loads(l); v[x['case']] = x
ids = sys.argv[1:] if sys.argv[1:] != ['-'] else [l.strip() for l in sys.stdin if l.strip()]
for cid in ids:
    c = cases[cid]; k = key3[cid]; f = final[k['scheme_id']]; r = c['realtycheck']
    print(f"\n[{cid}] R: {r['name']} | {r['category']} | {r['district'] or '-'} / {r['state'] or '-'} | mukim {r['mukim'] or '-'} | median {r['median_price_rm']} psf {r['psf']}")
    for x in c['catalogue_candidates']:
        print(f"   {x['k']}: {x['name']} | {x['type'] or '-'} | {x['area'] or '-'}, {x['state'] or '-'} | {x['dist_m']} m | median {x['price_median']} psf {x['psf_median']} | {x['sale_status'] or ''} {x['completion_year'] or ''}")
    pk = k['cand_i'].index(f['cat_i']) if f['cat_i'] in k['cand_i'] else None
    print(f"   BEFORE: {f['status']} cand={pk} ({f['confidence']}) — {f['reason']}")
    x = v.get(cid)
    if x: print(f"   SECOND: {x['verdict']} cand={x.get('cand')} conf={x.get('confidence_pct')} rel={x.get('relation')} web={x.get('web')} — {x.get('reason')}")
