commcoach: fix PDF export crash - provide services stub for RendererPdf

Made-with: Cursor
This commit is contained in:
patrick-motsch 2026-03-07 02:21:09 +01:00
parent b6c01fd203
commit 210c9d44a1

View file

@ -140,6 +140,19 @@ def buildSessionMarkdown(session: Dict[str, Any], messages: List[Dict[str, Any]]
return "\n".join(lines)
class _DebugUtils:
"""Minimal stub for services.utils required by RendererPdf."""
@staticmethod
def debugLogToFile(message: str, context: str = "DEBUG"):
logger.debug(f"[{context}] {message}")
class _ServicesStub:
"""Minimal services stub providing utils for RendererPdf."""
def __init__(self):
self.utils = _DebugUtils()
async def renderDossierPdf(context: Dict[str, Any], sessions: List[Dict[str, Any]],
tasks: List[Dict[str, Any]], scores: List[Dict[str, Any]],
aiService=None) -> Optional[bytes]:
@ -147,7 +160,7 @@ async def renderDossierPdf(context: Dict[str, Any], sessions: List[Dict[str, Any
try:
from modules.services.serviceGeneration.renderers.rendererPdf import RendererPdf
extractedContent = _buildPdfContent(context, sessions, tasks, scores, isDossier=True)
renderer = RendererPdf()
renderer = RendererPdf(services=_ServicesStub())
docs = await renderer.render(extractedContent=extractedContent, title=context.get("title", "Dossier"), aiService=aiService)
if docs and len(docs) > 0:
return docs[0].documentData
@ -166,7 +179,7 @@ async def renderSessionPdf(session: Dict[str, Any], messages: List[Dict[str, Any
from modules.services.serviceGeneration.renderers.rendererPdf import RendererPdf
title = f"Session {_formatDate(session.get('startedAt'))}"
extractedContent = _buildPdfContent({"title": title}, [session], tasks, scores, isDossier=False, messages=messages)
renderer = RendererPdf()
renderer = RendererPdf(services=_ServicesStub())
docs = await renderer.render(extractedContent=extractedContent, title=title, aiService=aiService)
if docs and len(docs) > 0:
return docs[0].documentData