chore: fix exporting super notes as md when multiple embedded files have same name [skip e2e]

This commit is contained in:
Aman Harwara
2024-04-22 22:53:09 +05:30
parent 69d14464bc
commit e455984576
2 changed files with 22 additions and 2 deletions

View File

@@ -156,6 +156,7 @@ const noteRequiresFolder = (
const addEmbeddedFilesToFolder = async (application: WebApplication, note: SNNote, folder: ZipDirectoryEntry) => {
try {
const filenameCounts: Record<string, number> = {}
const embeddedFileIDs = headlessSuperConverter.getEmbeddedFileIDsFromSuperString(note.text)
for (const embeddedFileID of embeddedFileIDs) {
const fileItem = application.items.findItem<FileItem>(embeddedFileID)
@@ -166,7 +167,14 @@ const addEmbeddedFilesToFolder = async (application: WebApplication, note: SNNot
if (!embeddedFileBlob) {
continue
}
folder.addBlob(parseAndCreateZippableFileName(fileItem.title), embeddedFileBlob)
filenameCounts[fileItem.title] =
filenameCounts[fileItem.title] == undefined ? 0 : filenameCounts[fileItem.title] + 1
let name = fileItem.title
if (filenameCounts[fileItem.title] > 0) {
const { name: _name, ext } = parseFileName(fileItem.title)
name = `${_name} - ${fileItem.uuid}.${ext}`
}
folder.addBlob(parseAndCreateZippableFileName(name), embeddedFileBlob)
}
} catch (error) {
console.error(error)