"""
Local test for transcript/summary/combined .docx generation.
Checks:
- Line numbering only on transcript pages.
- Page numbering (X of Y) in footer.
- Cover pages present and centered.
- Combined document structure.
"""

import sys
import os
import tempfile

sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from scraibe.email_sender import (
    create_transcript_docx,
    create_summary_docx,
    create_combined_docx,
)

TRANSCRIPT_TEXT = """[00:00] Speaker 1: Good morning, everyone. Thank you for joining today's meeting.
[00:12] Speaker 2: Good morning. I'm looking forward to discussing the new requirements.
[00:25] Speaker 1: Let's start with the timeline. We need to finalize the scope by Friday.
[00:38] Speaker 2: Agreed. I'll send a summary of the key points after this call.
[00:45] Speaker 1: Perfect. If there are no other items, we can wrap up here."""

SUMMARY_TEXT = """# Meeting Overview
## Key Discussion Points
### Timeline and Scope
#### Next Steps"""

COVER_DATE = "June 14, 2026"
TRANSCRIPT_DESC = "Transcript of a project planning meeting discussing timelines and scope."
SUMMARY_DESC = "Summary of a project planning meeting covering key decisions and next steps."


def main():
    with tempfile.TemporaryDirectory() as tmpdir:
        print("Using temp directory:", tmpdir)

        # 1) Transcript-only
        transcript_path = os.path.join(tmpdir, "TRANSCRIPT_TEST.docx")
        print("Creating transcript-only docx:", transcript_path)
        create_transcript_docx(
            text=TRANSCRIPT_TEXT,
            filename=transcript_path,
            include_cover=True,
            cover_date=COVER_DATE,
            cover_desc=TRANSCRIPT_DESC,
        )
        print("OK: transcript-only created.")

        # 2) Summary-only
        summary_path = os.path.join(tmpdir, "SUMMARY_TEST.docx")
        print("Creating summary-only docx:", summary_path)
        create_summary_docx(
            text=SUMMARY_TEXT,
            filename=summary_path,
            include_cover=True,
            cover_date=COVER_DATE,
            cover_desc=SUMMARY_DESC,
        )
        print("OK: summary-only created.")

        # 3) Combined
        combined_path = os.path.join(tmpdir, "COMBINED_TEST.docx")
        print("Creating combined docx:", combined_path)
        create_combined_docx(
            transcript_text=TRANSCRIPT_TEXT,
            summary_text=SUMMARY_TEXT,
            filename=combined_path,
            transcript_cover_date=COVER_DATE,
            transcript_cover_desc=TRANSCRIPT_DESC,
            summary_cover_date=COVER_DATE,
            summary_cover_desc=SUMMARY_DESC,
        )
        print("OK: combined created.")

        # Basic size sanity checks
        for path in [transcript_path, summary_path, combined_path]:
            size = os.path.getsize(path)
            print(f"File: {os.path.basename(path)} - size: {size} bytes")
            if size < 10000:
                print("WARNING: File seems unusually small:", path)

        print("\nAll .docx files generated successfully.")
        print("Please open them in Word to verify:")
        print("- Only transcript pages have line numbers.")
        print("- Footer shows 'X of Y' on all pages.")
        print("- Cover pages are centered and use the correct date format.")
        print("- Combined doc order: cover, page break, summary, page break, transcript.")


if __name__ == "__main__":
    main()
