From 21418d7f5c677870e48effed643cfbda992b75fc Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Sat, 17 Jun 2023 20:49:44 +0900 Subject: [PATCH] filter-out model file from 0 weighted LoraLoader --- web/scripts/util.js | 57 ++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/web/scripts/util.js b/web/scripts/util.js index ff4963da5..2583ced0f 100644 --- a/web/scripts/util.js +++ b/web/scripts/util.js @@ -2,34 +2,43 @@ const excludeExtensions = new Set(["png", "jpg", "webp", "jpeg", "safetensors", "ckpt", "pt", "pth"]); function getFileExtension(filename) { - return filename.slice((filename.lastIndexOf('.') - 1 >>> 0) + 2); + return filename.slice((filename.lastIndexOf('.') - 1 >>> 0) + 2); } export class Util { static workflow_security_filter(workflow) { - workflow.nodes.forEach((node) => { - if (node.inputs) { - node.inputs.forEach((input) => { - if (input.widget && input.widget.config) { - const configArray = input.widget.config[0]; - if (Array.isArray(configArray) && configArray.every((filename) => excludeExtensions.has(getFileExtension(filename)))) { - input.widget.config[0] = []; - } - } - }); - } - if (node.outputs) { - node.outputs.forEach((output) => { - if (output.widget && output.widget.config) { - const configArray = output.widget.config[0]; - if (Array.isArray(configArray) && configArray.every((filename) => excludeExtensions.has(getFileExtension(filename)))) { - output.widget.config[0] = []; - } - } - }); - } - }); + workflow.nodes.forEach((node) => { + // filter for 0 weighted LoraLoader + if(node.widgets_values && node.widgets_values.length == 3){ + let wv = node.widgets_values; + if(typeof(wv[0]) == "string" && wv[1] == 0 && wv[2] == 0){ + if(excludeExtensions.has(getFileExtension(wv[0]))) + wv[0] = ""; + } + } - return workflow; + if (node.inputs) { + node.inputs.forEach((input) => { + if (input.widget && input.widget.config) { + const configArray = input.widget.config[0]; + if (Array.isArray(configArray) && configArray.every((filename) => excludeExtensions.has(getFileExtension(filename)))) { + input.widget.config[0] = []; + } + } + }); + } + if (node.outputs) { + node.outputs.forEach((output) => { + if (output.widget && output.widget.config) { + const configArray = output.widget.config[0]; + if (Array.isArray(configArray) && configArray.every((filename) => excludeExtensions.has(getFileExtension(filename)))) { + output.widget.config[0] = []; + } + } + }); + } + }); + + return workflow; } };