#!/usr/bin/env python3
"""Enrich wiki entity pages with yield data."""
from pathlib import Path
from yield_data import YIELD_DATA, build_yield_section

ENTITIES_DIR = Path(__file__).parent / "entities"


def enrich_entity(wiki_slug, yield_data):
    """Add Yield section to entity page."""
    entity_path = ENTITIES_DIR / f"{wiki_slug}.md"
    
    if not entity_path.exists():
        return False, "Entity page not found"
    
    content = entity_path.read_text()
    
    # Check if already has Yield section
    if '## Yield' in content:
        return False, "Section already exists"
    
    section = build_yield_section(yield_data)
    
    # Find insertion point: after ## Seed Viability or ## Seed Storage
    lines = content.split('\n')
    insert_idx = None
    
    for i, line in enumerate(lines):
        if line.startswith('## Seed Viability') or line.startswith('## Seed Storage'):
            # Find end of this section
            for j in range(i + 1, len(lines)):
                if lines[j].startswith('## '):
                    insert_idx = j
                    break
            else:
                insert_idx = len(lines)
            break
    
    if insert_idx is None:
        # Insert before ## Related
        for i, line in enumerate(lines):
            if line.startswith('## Related'):
                insert_idx = i
                break
        else:
            insert_idx = len(lines)
    
    lines.insert(insert_idx, '')
    lines.insert(insert_idx + 1, section.strip())
    
    new_content = '\n'.join(lines)
    entity_path.write_text(new_content)
    return True, "Enriched"


def main():
    wiki_slugs = [f.stem for f in ENTITIES_DIR.glob("*.md") if 'curriculum' not in f.name]
    
    enriched = 0
    skipped = 0
    unmatched = 0
    
    for wiki_slug in wiki_slugs:
        if wiki_slug in YIELD_DATA:
            success, msg = enrich_entity(wiki_slug, YIELD_DATA[wiki_slug])
            if success:
                enriched += 1
                print(f"  ✓ {wiki_slug}: {msg}")
            else:
                skipped += 1
                print(f"  - {wiki_slug}: {msg}")
        else:
            unmatched += 1
            print(f"  ? {wiki_slug}: No yield data")
    
    print(f"\n=== SUMMARY ===")
    print(f"Enriched: {enriched}")
    print(f"Skipped: {skipped}")
    print(f"Unmatched: {unmatched}")


if __name__ == "__main__":
    main()
