From 4d4db7bb85b6de868856298e5b34c0324cfd8c74 Mon Sep 17 00:00:00 2001
From: ValueOn AG
Date: Tue, 23 Dec 2025 00:35:04 +0100
Subject: [PATCH] fixes
---
.../serviceGeneration/renderers/rendererImage.py | 12 ++++++------
.../serviceGeneration/renderers/rendererXlsx.py | 12 ++++++------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/modules/services/serviceGeneration/renderers/rendererImage.py b/modules/services/serviceGeneration/renderers/rendererImage.py
index 7ea450b2..ad83673b 100644
--- a/modules/services/serviceGeneration/renderers/rendererImage.py
+++ b/modules/services/serviceGeneration/renderers/rendererImage.py
@@ -47,15 +47,15 @@ class RendererImage(BaseRenderer):
if not aiService:
raise ValueError("AI service is required for image generation")
- # Validate JSON structure
- if not isinstance(extractedContent, dict):
- raise ValueError("Extracted content must be a dictionary")
+ # Validate JSON structure (standardized schema: {metadata: {...}, documents: [{sections: [...]}]})
+ if not self._validateJsonStructure(extractedContent):
+ raise ValueError("Extracted content must follow standardized schema: {metadata: {...}, documents: [{sections: [...]}]}")
- if "sections" not in extractedContent:
- raise ValueError("Extracted content must contain 'sections' field")
+ # Extract metadata from standardized schema
+ metadata = self._extractMetadata(extractedContent)
# Use title from JSON metadata if available, otherwise use provided title
- documentTitle = extractedContent.get("metadata", {}).get("title", title)
+ documentTitle = metadata.get("title", title)
# Create AI prompt for image generation
imagePrompt = await self._createImageGeneratePrompt(extractedContent, documentTitle, userPrompt, aiService)
diff --git a/modules/services/serviceGeneration/renderers/rendererXlsx.py b/modules/services/serviceGeneration/renderers/rendererXlsx.py
index 2ebe11c2..a8cffd56 100644
--- a/modules/services/serviceGeneration/renderers/rendererXlsx.py
+++ b/modules/services/serviceGeneration/renderers/rendererXlsx.py
@@ -210,15 +210,15 @@ class RendererXlsx(BaseRenderer):
# Get style set: default styles, enhanced with AI if userPrompt provided
styles = await self._getStyleSet(userPrompt, aiService)
- # Validate JSON structure
- if not isinstance(jsonContent, dict):
- raise ValueError("JSON content must be a dictionary")
+ # Validate JSON structure (standardized schema: {metadata: {...}, documents: [{sections: [...]}]})
+ if not self._validateJsonStructure(jsonContent):
+ raise ValueError("JSON content must follow standardized schema: {metadata: {...}, documents: [{sections: [...]}]}")
- if "sections" not in jsonContent:
- raise ValueError("JSON content must contain 'sections' field")
+ # Extract metadata from standardized schema
+ metadata = self._extractMetadata(jsonContent)
# Use title from JSON metadata if available, otherwise use provided title
- document_title = jsonContent.get("metadata", {}).get("title", title)
+ document_title = metadata.get("title", title)
# Create workbook
wb = Workbook()