#!/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()