#!/usr/bin/env python3
"""
Teacher Guide Generator for Math Curriculum

Combines all days' answer keys into a single teacher guide PDF.
"""
import os
import sys
sys.path.insert(0, os.path.dirname(__file__))
from math_helpers import TEACHER_CSS, tg_page_multi, tg_section_title, tg_sec, tg_note
from weasyprint import HTML


def generate_teacher_guide(week_dir: str, week_num: int, topic: str, day_data_list: list):
    """
    Generate combined teacher guide for all 5 days.
    
    Args:
        week_dir: Path to week directory
        week_num: Week number
        topic: Overall week topic (e.g., "Place Value (Tens & Ones)")
        day_data_list: List of 5 day_data dicts (Monday through Friday)
    """
    days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
    
    pages = []
    for i, day_data in enumerate(day_data_list):
        day_name = days[i]
        day_topic = day_data.get("topic", f"{day_name} Practice")
        activities = day_data.get("activities", [])
        answers = day_data.get("answers", [])
        
        # Build page content for this day
        page_content = tg_section_title(f"{day_name}: {day_topic}")
        
        # Add answers by activity
        for j, answer in enumerate(answers, 1):
            activity_title = activities[j-1].get("data", {}).get("title", f"Activity {j}") if j <= len(activities) else f"Section {j}"
            page_content += tg_sec(j, activity_title, [answer] if isinstance(answer, str) else answer)
        
        # Add page break between days (except last)
        if i < len(day_data_list) - 1:
            page_content += tg_note("Page break")
        
        pages.append(page_content)
    
    # Generate the teacher guide HTML
    html_content = tg_page_multi(f"Week {week_num}", f"{topic} — Teacher Guide", *pages)
    
    # Write PDF
    pdf_path = os.path.join(week_dir, f"Week_{week_num}_Teacher_Guide.pdf")
    HTML(string=html_content).write_pdf(pdf_path)
    print(f"[ok] Week {week_num} Teacher Guide generated: {pdf_path}")
