import os
from jinja2 import Environment, FileSystemLoader
from datetime import datetime

project_json = {
    "project": {
        "key": "TEST-1",
        "name": "Test Project",
        "description": "Test Description",
        "owner": "John Doe",
        "period": "Jan 01, 2026 - Present",
        "generated_date": datetime.now().strftime('%d %b %Y'),
        "total_members": 5
    },
    "summary": {
        "total_tickets": 10,
        "completed_tickets": 5,
        "completion_rate": 50,
        "critical_open_count": 1,
        "critical_open_keys": ["TEST-1"],
        "story_points_burned": 20,
        "story_points_total": 40
    },
    "status_breakdown": [{"status": "DONE", "count": 5}],
    "type_split": [{"type": "BUG", "count": 2}],
    "releases": [],
    "assignees": [],
    "tickets": [],
    "tags_index": []
}

env = Environment(loader=FileSystemLoader('/home/fc-abhay/PF/project-management-app/project-management-app-backend'))
template = env.get_template('report.html')
rendered_html = template.render(**project_json)

try:
    from xhtml2pdf import pisa
    with open('test.pdf', "w+b") as result_file:
        pisa_status = pisa.CreatePDF(rendered_html, dest=result_file)
    print("xhtml2pdf success:", not pisa_status.err)
except Exception as e:
    print("xhtml2pdf failed:", e)

