Skip to content

Commit

Permalink
feat: remove handle all setting
Browse files Browse the repository at this point in the history
  • Loading branch information
trganda committed Sep 18, 2023
1 parent e99009a commit bfa7293
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 67 deletions.
5 changes: 1 addition & 4 deletions src/rename.ts
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,7 @@ export class RenameHandler {
for (const filePath of attachmentFiles.files) {
let fileName = path.basename(filePath);
const fileExtension = path.extname(fileName);
if (
(this.settings.handleAll && testExcludeExtension(fileExtension, this.settings.excludeExtensionPattern)) ||
(!this.settings.handleAll && !isImage(fileExtension))
) {
if (testExcludeExtension(fileExtension, this.settings.excludeExtensionPattern) || !isImage(fileExtension)) {
debugLog("renameFiles - no handle extension:", fileExtension);
continue;
}
Expand Down
12 changes: 1 addition & 11 deletions src/settings/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,7 @@ export interface AttachmentManagementPluginSettings {
attachPath: AttachmentPathSettings;
// Date format
dateFormat: string;
// Handle all file
handleAll: boolean;
// Exclude extension not to rename (work if enabled handleAll)
// Exclude extension not to rename
excludeExtensionPattern: string;
// Auto-rename attachment folder or filename and update the link
autoRenameAttachment: boolean;
Expand All @@ -78,7 +76,6 @@ export const DEFAULT_SETTINGS: AttachmentManagementPluginSettings = {
type: SETTINGS_TYPES.GLOBAL,
},
dateFormat: "YYYYMMDDHHmmssSSS",
handleAll: false,
excludeExtensionPattern: "",
autoRenameAttachment: true,
excludedPaths: "",
Expand All @@ -104,13 +101,6 @@ export class SettingTab extends PluginSettingTab {
el.show();
}
}
if (el.getAttr("class")?.includes("exclude_extension_pattern")) {
if (!this.plugin.settings.handleAll) {
el.hide();
} else {
el.show();
}
}
});
}

Expand Down
101 changes: 49 additions & 52 deletions src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,12 +129,7 @@ export function isAttachment(settings: AttachmentManagementPluginSettings, fileP
return false;
}

// debugLog(`isAttachment - ${file.basename}: ${isImage(file.extension)}, ${settings.handleAll && testExcludeExtension(file.extension, settings.excludeExtensionPattern)}`);

return (
isImage(file.extension) ||
(settings.handleAll && !testExcludeExtension(file.extension, settings.excludeExtensionPattern))
);
return !testExcludeExtension(file.extension, settings.excludeExtensionPattern) || isImage(file.extension);
}

/**
Expand Down Expand Up @@ -178,10 +173,10 @@ export function getParentFolder(rf: TFile) {
return { parentPath, parentName };
}

export async function MD5(adapter:DataAdapter, file: TFile): Promise<string> {
export async function MD5(adapter: DataAdapter, file: TFile): Promise<string> {
const md5 = new Md5();

if (!(adapter.exists(file.path, true))) {
if (!adapter.exists(file.path, true)) {
return "";
}

Expand All @@ -193,51 +188,53 @@ export async function MD5(adapter:DataAdapter, file: TFile): Promise<string> {
}

export function validateExtensionEntry(setting: AttachmentPathSettings, plugin: AttachmentManagementPluginSettings) {
const wrongIndex: {
"type" : "empty" | "duplicate" | "md" | "canvas" | "excluded",
"index" : number
}[] = [];
if (setting.extensionOverride !== undefined) {
const extOverride = setting.extensionOverride;
if (extOverride.some(ext => ext.extension === "")) {
wrongIndex.push({"type": "empty", "index": extOverride.findIndex(ext => ext.extension === "")});
}
const duplicate = extOverride
.map((ext) => ext.extension)
.filter((value, index, self) => self.indexOf(value) !== index);
if (duplicate.length > 0) {
duplicate.forEach((dupli) => {
wrongIndex.push({"type": "duplicate", "index": extOverride.findIndex(ext => dupli === ext.extension)});
});
}
const markdown = extOverride.filter((ext) => ext.extension === "md");
if (markdown.length > 0) {
wrongIndex.push({"type": "md", "index": extOverride.findIndex(ext => ext.extension === "md")});
}
const canvas = extOverride.filter((ext) => ext.extension === "canvas");
if (canvas.length > 0) {
wrongIndex.push({"type": "canvas", "index": extOverride.findIndex(ext => ext.extension === "canvas")});
}
const excludedFromSettings = plugin.excludeExtensionPattern.split("|");
const excluded = extOverride.filter((ext) => excludedFromSettings.includes(ext.extension));
if (excluded.length > 0) {
wrongIndex.push({"type": "excluded", "index": extOverride.findIndex(ext => excludedFromSettings.includes(ext.extension))});
}
}
return wrongIndex;
const wrongIndex: {
type: "empty" | "duplicate" | "md" | "canvas" | "excluded";
index: number;
}[] = [];
if (setting.extensionOverride !== undefined) {
const extOverride = setting.extensionOverride;
if (extOverride.some((ext) => ext.extension === "")) {
wrongIndex.push({ type: "empty", index: extOverride.findIndex((ext) => ext.extension === "") });
}
const duplicate = extOverride
.map((ext) => ext.extension)
.filter((value, index, self) => self.indexOf(value) !== index);
if (duplicate.length > 0) {
duplicate.forEach((dupli) => {
wrongIndex.push({ type: "duplicate", index: extOverride.findIndex((ext) => dupli === ext.extension) });
});
}
const markdown = extOverride.filter((ext) => ext.extension === "md");
if (markdown.length > 0) {
wrongIndex.push({ type: "md", index: extOverride.findIndex((ext) => ext.extension === "md") });
}
const canvas = extOverride.filter((ext) => ext.extension === "canvas");
if (canvas.length > 0) {
wrongIndex.push({ type: "canvas", index: extOverride.findIndex((ext) => ext.extension === "canvas") });
}
const excludedFromSettings = plugin.excludeExtensionPattern.split("|");
const excluded = extOverride.filter((ext) => excludedFromSettings.includes(ext.extension));
if (excluded.length > 0) {
wrongIndex.push({
type: "excluded",
index: extOverride.findIndex((ext) => excludedFromSettings.includes(ext.extension)),
});
}
}
return wrongIndex;
}

export function generateErrorExtensionMessage(type: "md" | "canvas" | "empty" | "duplicate" | "excluded") {
if (type === "canvas") {
new Notice("Canvas is not supported as an extension override.");
} else if (type === "md") {
new Notice("Markdown is not supported as an extension override.");
}
else if (type === "empty") {
new Notice("Extension override cannot be empty.");
} else if (type === "duplicate") {
new Notice("Duplicate extension override.");
} else if (type === "excluded") {
new Notice("Extension override cannot be an excluded extension.");
}
if (type === "canvas") {
new Notice("Canvas is not supported as an extension override.");
} else if (type === "md") {
new Notice("Markdown is not supported as an extension override.");
} else if (type === "empty") {
new Notice("Extension override cannot be empty.");
} else if (type === "duplicate") {
new Notice("Duplicate extension override.");
} else if (type === "excluded") {
new Notice("Extension override cannot be an excluded extension.");
}
}

0 comments on commit bfa7293

Please sign in to comment.