Commit f6b7768f authored by AUTOMATIC's avatar AUTOMATIC
Browse files

support for searching subdirectory names for extra networks

parent 1d246652
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
                "name": name,
                "filename": path,
                "preview": preview,
                "search_term": self.search_terms_from_path(lora_on_disk.filename),
                "prompt": json.dumps(f"<lora:{name}:") + " + opts.extra_networks_default_multiplier + " + json.dumps(">"),
                "local_preview": path + ".png",
            }
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
			<ul>
				<a href="#" title="replace preview image with currently selected in gallery" onclick={save_card_preview}>replace preview</a>
			</ul>
			<span style="display:none" class='search_term'>{search_term}</span>
		</div>
		<span class='name'>{name}</span>
	</div>
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ function setupExtraNetworksForTab(tabname){
        searchTerm = search.value.toLowerCase()

        gradioApp().querySelectorAll('#'+tabname+'_extra_tabs div.card').forEach(function(elem){
            text = elem.querySelector('.name').textContent.toLowerCase()
            text = elem.querySelector('.name').textContent.toLowerCase() + " " + elem.querySelector('.search_term').textContent.toLowerCase()
            elem.style.display = text.indexOf(searchTerm) == -1 ? "none" : ""
        })
    });
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ class CheckpointInfo:
            name = name[1:]

        self.name = name
        self.name_for_extra = os.path.splitext(os.path.basename(filename))[0]
        self.model_name = os.path.splitext(name.replace("/", "_").replace("\\", "_"))[0]
        self.hash = model_hash(filename)

+11 −0
Original line number Diff line number Diff line
@@ -50,6 +50,16 @@ class ExtraNetworksPage:
    def link_preview(self, filename):
        return "./sd_extra_networks/thumb?filename=" + urllib.parse.quote(filename.replace('\\', '/')) + "&mtime=" + str(os.path.getmtime(filename))

    def search_terms_from_path(self, filename, possible_directories=None):
        abspath = os.path.abspath(filename)

        for parentdir in (possible_directories if possible_directories is not None else self.allowed_directories_for_previews()):
            parentdir = os.path.abspath(parentdir)
            if abspath.startswith(parentdir):
                return abspath[len(parentdir):].replace('\\','/')

        return ""

    def create_html(self, tabname):
        view = shared.opts.extra_networks_default_view
        items_html = ''
@@ -90,6 +100,7 @@ class ExtraNetworksPage:
            "name": item["name"],
            "card_clicked": onclick,
            "save_card_preview": '"' + html.escape(f"""return saveCardPreview(event, {json.dumps(tabname)}, {json.dumps(item["local_preview"])})""") + '"',
            "search_term": item.get("search_term", ""),
        }

        return self.card_page.format(**args)
Loading