Commit 8fe9ea7f authored by AUTOMATIC's avatar AUTOMATIC
Browse files

add options to show/hide hidden files and dirs, and to not list models/files in hidden directories

parent a6b618d0
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -378,6 +378,7 @@ options_templates.update(options_section(('system', "System"), {
    "samples_log_stdout": OptionInfo(False, "Always print all generation info to standard output"),
    "multiple_tqdm": OptionInfo(True, "Add a second progress bar to the console that shows progress for an entire job."),
    "print_hypernet_extra": OptionInfo(False, "Print extra hypernetwork information to console."),
    "list_hidden_files": OptionInfo(True, "Load models/files in hidden directories").info("directory is hidden if its name starts with \".\""),
}))

options_templates.update(options_section(('training', "Training"), {
@@ -446,6 +447,8 @@ options_templates.update(options_section(('interrogate', "Interrogate Options"),
}))

options_templates.update(options_section(('extra_networks', "Extra Networks"), {
    "extra_networks_show_hidden_directories": OptionInfo(True, "Show hidden directories").info("directory is hidden if its name starts with \".\"."),
    "extra_networks_hidden_models": OptionInfo("When searched", "Show cards for models in hidden directories", gr.Radio, {"choices": ["Always", "When searched", "Never"]}).info('"When searched" option will only show the item when the search string has 4 characters or more'),
    "extra_networks_default_view": OptionInfo("cards", "Default view for Extra Networks", gr.Dropdown, {"choices": ["cards", "thumbs"]}),
    "extra_networks_default_multiplier": OptionInfo(1.0, "Multiplier for extra networks", gr.Slider, {"minimum": 0.0, "maximum": 1.0, "step": 0.01}),
    "extra_networks_card_width": OptionInfo(0, "Card width for Extra Networks").info("in pixels"),
@@ -825,4 +828,7 @@ def walk_files(path, allowed_extensions=None):
                if ext not in allowed_extensions:
                    continue

            if not opts.list_hidden_files and ("/." in root or "\\." in root):
                continue

            yield os.path.join(root, filename)
+15 −2
Original line number Diff line number Diff line
@@ -105,6 +105,9 @@ class ExtraNetworksPage:
                    if not is_empty and not subdir.endswith("/"):
                        subdir = subdir + "/"

                    if ("/." in subdir or subdir.startswith(".")) and not shared.opts.extra_networks_show_hidden_directories:
                        continue

                    subdirs[subdir] = 1

        if subdirs:
@@ -147,6 +150,10 @@ class ExtraNetworksPage:
        return []

    def create_html_for_item(self, item, tabname):
        """
        Create HTML for card item in tab tabname; can return empty string if the item is not meant to be shown.
        """

        preview = item.get("preview", None)

        onclick = item.get("onclick", None)
@@ -169,10 +176,16 @@ class ExtraNetworksPage:
            if filename.startswith(absdir):
                local_path = filename[len(absdir):]

        # if this is true, the item must not be show in the default view, and must instead only be
        # if this is true, the item must not be shown in the default view, and must instead only be
        # shown when searching for it
        if shared.opts.extra_networks_hidden_models == "Always":
            search_only = False
        else:
            search_only = "/." in local_path or "\\." in local_path

        if search_only and shared.opts.extra_networks_hidden_models == "Never":
            return ""

        args = {
            "style": f"'display: none; {height}{width}{background_image}'",
            "prompt": item.get("prompt", None),