[32788f42] feat(list-generator): add detailed traceback logging for debugging 500 errors

This commit is contained in:
2026-03-18 19:59:00 +00:00
parent 0acc2a4c0a
commit aab7b08296

View File

@@ -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)}")