From 09d1b08f7d63dfbe04a9580d52b30ed4c1e96643 Mon Sep 17 00:00:00 2001 From: Evan Fiordeliso Date: Tue, 1 Jul 2025 10:36:26 -0400 Subject: [PATCH] Small fixes --- src/main.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main.ts b/src/main.ts index 7738e26..2bc28e8 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,4 @@ -import { Notice, Plugin, requestUrl } from "obsidian"; +import { Notice, Plugin, requestUrl, TFile } from "obsidian"; import { type BookTrackerPluginSettings, DEFAULT_SETTINGS, @@ -99,8 +99,9 @@ export default class BookTrackerPlugin extends Plugin { async downloadCoverImage( coverImageUrl: string, - fileName: string - ): Promise { + fileName: string, + overwrite?: boolean + ): Promise { const response = await requestUrl(coverImageUrl); const contentType = response.headers["content-type"]; const extension = CONTENT_TYPE_EXTENSIONS[contentType || ""] || ""; @@ -121,20 +122,21 @@ export default class BookTrackerPlugin extends Plugin { const existingFile = this.app.vault.getFileByPath(filePath); if (existingFile) { - if (this.settings.overwriteExistingCovers) { + if (this.settings.overwriteExistingCovers || overwrite) { await this.app.vault.modifyBinary( existingFile, response.arrayBuffer ); } else { new Notice("Cover image already exists: " + filePath); - return filePath; } + return existingFile; } - await this.app.vault.createBinary(filePath, response.arrayBuffer); - - return filePath; + return await this.app.vault.createBinary( + filePath, + response.arrayBuffer + ); } async createEntry(book: Book): Promise { @@ -149,10 +151,11 @@ export default class BookTrackerPlugin extends Plugin { const data: Record = { book }; if (this.settings.downloadCovers && book.coverImageUrl) { - data.coverImagePath = await this.downloadCoverImage( + const coverImageFile = await this.downloadCoverImage( book.coverImageUrl, fileName ); + data.coverImagePath = coverImageFile.path; } const renderedContent = await this.templater.renderTemplateFile(