fix: issue with document loader in API endpoints

This commit is contained in:
sauravniraula 2025-11-13 03:35:42 +05:45
parent aa610d5c86
commit 1e7950670f
No known key found for this signature in database
GPG key ID: 60FCC1B5A5E83326
2 changed files with 11 additions and 9 deletions

View file

@ -223,7 +223,7 @@ async def prepare_presentation(
i + 1 if presentation.include_title_slide else i,
toc_slide_layout_index,
)
toc_outline = f"Table of Contents\n\n"
toc_outline = "Table of Contents\n\n"
for outline in presentation_outline_model.slides[
outline_index:outlines_to
@ -478,7 +478,7 @@ async def check_if_api_request_is_valid(
template = await sql_session.get(TemplateModel, uuid.UUID(template_id))
if not template:
raise Exception()
except Exception as e:
except Exception:
raise HTTPException(
status_code=400,
detail="Template not found. Please use a valid template.",
@ -554,7 +554,7 @@ async def generate_presentation_handler(
presentation_outlines_json = dict(
dirtyjson.loads(presentation_outlines_text)
)
except Exception as e:
except Exception:
traceback.print_exc()
raise HTTPException(
status_code=400,
@ -577,7 +577,7 @@ async def generate_presentation_handler(
# Updating async status
if async_status:
async_status.message = f"Selecting layout for each slide"
async_status.message = "Selecting layout for each slide"
async_status.updated_at = datetime.now()
sql_session.add(async_status)
await sql_session.commit()
@ -626,7 +626,7 @@ async def generate_presentation_handler(
i + 1 if request.include_title_slide else i,
toc_slide_layout_index,
)
toc_outline = f"Table of Contents\n\n"
toc_outline = "Table of Contents\n\n"
for outline in presentation_outlines.slides[
outline_index:outlines_to
@ -811,7 +811,7 @@ async def generate_presentation_sync(
return await generate_presentation_handler(
request, presentation_id, None, sql_session
)
except Exception as e:
except Exception:
traceback.print_exc()
raise HTTPException(status_code=500, detail="Presentation generation failed")

View file

@ -1,7 +1,7 @@
import mimetypes
from fastapi import HTTPException
import os, asyncio
from typing import List, Tuple
from typing import List, Optional, Tuple
import pdfplumber
from constants.documents import (
@ -33,10 +33,12 @@ class DocumentsLoader:
async def load_documents(
self,
temp_dir: str,
temp_dir: Optional[str] = None,
load_text: bool = True,
load_images: bool = False,
):
"""If load_images is True, temp_dir must be provided"""
documents: List[str] = []
images: List[str] = []
@ -72,7 +74,7 @@ class DocumentsLoader:
file_path: str,
load_text: bool,
load_images: bool,
temp_dir: str,
temp_dir: Optional[str] = None,
) -> Tuple[str, List[str]]:
image_paths = []
document: str = ""