Merge pull request #350 from presenton/fix/bug-fixes

fix/bug fixes
This commit is contained in:
Saurav Niraula 2025-11-13 03:37:06 +05:45 committed by GitHub
commit 09843c5dfb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 26 additions and 18 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 = ""

View file

@ -204,6 +204,10 @@ class LLMClient:
tools=tools,
extra_body=extra_body,
)
if len(response.choices) == 0:
return None
tool_calls = response.choices[0].message.tool_calls
if tool_calls:
parsed_tool_calls = [
@ -506,6 +510,9 @@ class LLMClient:
extra_body=extra_body,
)
if len(response.choices) == 0:
return None
content = response.choices[0].message.content
tool_calls = response.choices[0].message.tool_calls

View file

@ -3,14 +3,7 @@
import { join, dirname } from "path";
import { fileURLToPath } from "url";
import { spawn } from "child_process";
import {
existsSync,
mkdirSync,
rmSync,
cpSync,
readFileSync,
writeFileSync,
} from "fs";
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
@ -111,7 +104,13 @@ const setupUserConfigFromEnv = () => {
const startServers = async () => {
const fastApiProcess = spawn(
"python",
["server.py", "--port", fastapiPort.toString(), "--reload", isDev],
[
"server.py",
"--port",
fastapiPort.toString(),
"--reload",
isDev ? "true" : "false",
],
{
cwd: fastapiDir,
stdio: "inherit",