#!/usr/bin/env python3
"""
check_block_mapping.py
Verify that QR codes point to the correct blocks
"""

import json
import os
from pathlib import Path

def print_banner(text):
    print("\n" + "="*70)
    print(f"  {text}")
    print("="*70)

print_banner("🔍 Block Mapping Verification")

# Load block mapping
mapping_path = "static/json/block_mapping.json"
if not os.path.exists(mapping_path):
    print("❌ block_mapping.json not found!")
    print("   Run: python export_blocks_to_json_and_qr.py")
    exit(1)

with open(mapping_path, 'r') as f:
    block_mapping = json.load(f)

print("✅ Block mapping loaded successfully\n")

for species, blocks in block_mapping.items():
    print_banner(f"Species: {species.upper()}")
    print(f"Total blocks: {len(blocks)}\n")
    
    # Show mapping for each block
    for block_id, info in sorted(blocks.items(), key=lambda x: x[1]['index']):
        index = info['index']
        filename = info['filename']
        stage = info['stage']
        
        print(f"Block #{index:2d}")
        print(f"  Unique ID: {block_id}")
        print(f"  Stage: {stage}")
        print(f"  JSON File: {filename}")
        print(f"  QR Points To: /block_by_id/{species}/{block_id}")
        print(f"  → Redirects To: /lineage_block_mem/{species}/{index}")
        print()

print_banner("✅ Verification Complete")
print("\n📝 How it works:")
print("1. QR code contains: http://yourserver/block_by_id/vannamei/VAN1-FEED-001")
print("2. Server looks up 'VAN1-FEED-001' in block_mapping.json")
print("3. Finds it's Block #4")
print("4. Redirects to: /lineage_block_mem/vannamei/4")
print("5. Shows the correct block data!")
print()
