import json, sys
path = "/var/www/html/peta/storage/app/propertylab-catalogue-match/review/v_hr_04_in.jsonl"
start = int(sys.argv[1]) if len(sys.argv) > 1 else 0
end = int(sys.argv[2]) if len(sys.argv) > 2 else 10**9
with open(path) as f:
    for i, line in enumerate(f):
        if i < start or i >= end: continue
        c = json.loads(line)
        r = c["realtycheck"]
        print(f"#{i} {c['case']} R: {r['name']} | {r['category']} | {r['state']} / {r['district']} / {r['mukim']} | prec={r['coord_precision']} | psf={r['psf']} med={r['median_price_rm']}")
        extra = {k: v for k, v in r.items() if k not in ('name','category','state','district','mukim','coord_precision','psf','median_price_rm')}
        if extra: print("   R extra:", extra)
        for cand in c["catalogue_candidates"]:
            psf = cand.get('psf_median'); rat = ''
            if psf and r['psf']:
                rat = f" ratio={r['psf']/psf:.2f}"
            pr = cand.get('price_median'); prat=''
            if pr and r['median_price_rm']:
                prat = f" pratio={r['median_price_rm']/pr:.2f}"
            ext = {k: v for k, v in cand.items() if k not in ('k','name','area','state','type','dist_m','psf_median','price_median','completion_year','sale_status','tenure')}
            print(f"   k{cand['k']}: {cand['name']} | {cand['area']}, {cand['state']} | type={cand['type']} | d={cand['dist_m']}m | psf={psf}{rat} | price={pr}{prat} | yr={cand.get('completion_year')} | {cand.get('sale_status')} | {cand.get('tenure')} {ext if ext else ''}")
        print()
