Enhance file download handling and format validation in htmlDocumentConverter

This commit is contained in:
MikeHughes-BIN
2026-01-18 17:02:29 +01:00
parent c98d7761b2
commit 1ed386fcf4
2 changed files with 23 additions and 4 deletions
+16 -3
View File
@@ -225,9 +225,22 @@ electron.ipcMain.on("file_submit", async (event, args) => {
}
})
electron.ipcMain.on("file_download", async() => {
await mapFunctions.get("htmlDocumentConverter").convert({inputPath:globalFinalHtmlPath, format: globalArgs.document.outputType, showDialog: true});
})
ipcMain.handle("file_download", async () => {
try {
const format = globalArgs.document.outputType.replace('.', '').toLowerCase();
return await mapFunctions
.get("htmlDocumentConverter")
.convert({
inputPath: globalFinalHtmlPath,
format,
showDialog: true
});
} catch (err) {
console.error("Download failed:", err);
throw err;
}
});
electron.ipcMain.on("speaker_submit", async() => {
console.log("\n\n\nJa also hier kam was an \n\n\n");
+6
View File
@@ -90,6 +90,12 @@ const module_exports = {
* @param {boolean} [options.showDialog] - Show save dialog (default: false in module mode, true in CLI mode)
*/
async convert({ inputPath, format = 'pdf', outputName, showDialog = false }) {
format = format.toLowerCase().replace('.', ''); // <-- FIX
if (!['pdf', 'docx', 'html', 'txt'].includes(format)) {
throw new Error(`Unsupported format: ${format}`);
}
if (!fs.existsSync(inputPath)) {
throw new Error(`Input file not found: ${inputPath}`);
}