diff --git a/list-generator/backend/app/routers/generate.py b/list-generator/backend/app/routers/generate.py index 7ebcbc98..fb49aa04 100644 --- a/list-generator/backend/app/routers/generate.py +++ b/list-generator/backend/app/routers/generate.py @@ -4,6 +4,7 @@ from typing import Optional import os import shutil import tempfile +import traceback from ..services.pdf_generator import generate_school_pdf router = APIRouter() @@ -26,6 +27,7 @@ async def generate_list( families_path = os.path.join(temp_dir, "families.csv") with open(families_path, "wb") as buffer: shutil.copyfileobj(families_file.file, buffer) + print(f"Generating PDF for: {institution}, Type: {list_type}") pdf_path = generate_school_pdf( institution=institution, date_info=date_info, @@ -35,7 +37,7 @@ async def generate_list( output_dir=temp_dir ) if not pdf_path or not os.path.exists(pdf_path): - raise HTTPException(status_code=500, detail="PDF generation failed") + raise HTTPException(status_code=500, detail="PDF generation failed - file not created.") with open(pdf_path, "rb") as f: pdf_bytes = f.read() final_output_path = os.path.join("/tmp", os.path.basename(pdf_path)) @@ -43,4 +45,6 @@ async def generate_list( f.write(pdf_bytes) return FileResponse(path=final_output_path, filename=os.path.basename(pdf_path), media_type="application/pdf") except Exception as e: - raise HTTPException(status_code=500, detail=str(e)) + print("ERROR IN GENERATE LIST:") + traceback.print_exc() + raise HTTPException(status_code=500, detail=f"Internal Server Error: {str(e)}")