Skip to content

Commit a5ac855

Browse files
committed
fix
1 parent bf87c70 commit a5ac855

File tree

4 files changed

+23
-6
lines changed

4 files changed

+23
-6
lines changed

.DS_Store

0 Bytes
Binary file not shown.

assets/.DS_Store

0 Bytes
Binary file not shown.

main.ts

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,8 @@ ipcMain.handle("multi-open", async (event, type?: string) => {
297297
button = "Rename"
298298
}
299299
if (type === "subs") {
300-
title = "Extract Subtitles"
301-
button = "Extract"
300+
title = "Convert to VTT Subtitles"
301+
button = "Convert"
302302
}
303303
if (!window) return
304304
const result = await dialog.showOpenDialog(window, {
@@ -312,7 +312,8 @@ ipcMain.handle("multi-open", async (event, type?: string) => {
312312
const subFiles = (directory: string) => {
313313
let files: string[] = []
314314
let directories: string[] = []
315-
const dirFiles = fs.readdirSync(directory).map((f) => `${directory}/${f}`)
315+
let dirFiles = fs.readdirSync(directory).map((f) => `${directory}/${f}`)
316+
dirFiles = dirFiles.sort(new Intl.Collator(undefined, {numeric: true, sensitivity: "base"}).compare)
316317
for (let i = 0; i < dirFiles.length; i++) {
317318
if (fs.lstatSync(dirFiles[i]).isDirectory()) {
318319
directories.push(dirFiles[i])
@@ -328,9 +329,25 @@ const subFiles = (directory: string) => {
328329

329330
ipcMain.handle("flatten", async (event, directory: string) => {
330331
const {files, directories} = subFiles(directory)
332+
let conflict = false
333+
loop1:
331334
for (let i = 0; i < files.length; i++) {
332-
const newName = `${directory}/${path.basename(files[i])}`
335+
let newName = path.basename(files[i])
336+
for (let j = 0; j < files.length; j++) {
337+
if (`${path.dirname(files[i])}/${path.basename(files[i])}` === `${path.dirname(files[j])}/${path.basename(files[j])}`) continue
338+
let checkName = path.basename(files[j])
339+
if (newName === checkName) {
340+
conflict = true
341+
break loop1
342+
}
343+
}
344+
}
345+
let renameIndex = 0
346+
for (let i = 0; i < files.length; i++) {
347+
let newName = `${directory}/${path.basename(files[i])}`
348+
if (conflict) newName = `${directory}/${renameIndex}_${path.basename(files[i])}`
333349
fs.renameSync(files[i], newName)
350+
renameIndex++
334351
}
335352
for (let i = 0; i < directories.length; i++) {
336353
fs.rmdirSync(directories[i])

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
22
"name": "image-compressor",
3-
"version": "0.1.5",
3+
"version": "0.1.6",
44
"description": "Compresses, resizes, and renames images.",
55
"main": "dist/main.js",
66
"scripts": {
77
"start": "npm run clean && webpack && cross-env DEVELOPMENT=true electron dist/main.js",
88
"clean": "del-cli ./dist",
99
"build": "npm run clean ./build && webpack && npm run sharp:mac && cross-env CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder -m -p never",
1010
"rebuild": "npm rebuild --runtime=electron --target=14.0.0 --disturl=https://atom.io/download/atom-shell --abi=83",
11-
"release": "npm run release:mac && npm run release:win && npm run release:linux",
11+
"release": "npm run release:win && npm run release:linux && npm run release:mac",
1212
"release:mac": "npm run clean ./build && webpack && npm run sharp:mac && cross-env CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder -m -p always",
1313
"release:win": "npm run clean ./build && webpack && npm run sharp:win && cross-env CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder -w -p always",
1414
"release:linux": "npm run clean ./build && webpack && npm run sharp:linux && cross-env CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder -l -p always",

0 commit comments

Comments
 (0)