From 2dd23526ffdbbdc0d340b801c4f9aa76b4064800 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Mon, 8 Aug 2022 21:13:07 +0530 Subject: [PATCH] move directory name and filename extraction logic to handle download --- src/main.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/main.ts b/src/main.ts index 8fd7a6a52..a15328185 100644 --- a/src/main.ts +++ b/src/main.ts @@ -90,28 +90,26 @@ function setupTrayItem() { function handleDownloads() { mainWindow.webContents.session.on('will-download', (event, item) => { - item.setSavePath(getUniqueSavePath(item)); + item.setSavePath( + getUniqueSavePath(item.getFilename(), app.getPath('downloads')) + ); }); } -function getUniqueSavePath(item: Electron.DownloadItem): string { +function getUniqueSavePath(filename: string, directory: string): string { let n = 0; let exists; let uniqueFileSavePath; - const [filenameWithoutExtension, extension] = splitFilenameAndExtension( - item.getFilename() - ); + const [filenameWithoutExtension, extension] = + splitFilenameAndExtension(filename); do { let fileNameWithNumberedSuffix; if (n > 0) { fileNameWithNumberedSuffix = `${filenameWithoutExtension}(${n}).${extension}`; } else { - fileNameWithNumberedSuffix = item.getFilename(); + fileNameWithNumberedSuffix = filename; } - uniqueFileSavePath = path.join( - app.getPath('downloads'), - fileNameWithNumberedSuffix - ); + uniqueFileSavePath = path.join(directory, fileNameWithNumberedSuffix); exists = existsSync(uniqueFileSavePath); n++; } while (exists);