Commit 520e52f8 authored by wfjsw's avatar wfjsw
Browse files

allow comma and whitespace as separator

parent 7af576e7
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ import configparser
import functools
import os
import threading
import re

from modules import shared, errors, cache, scripts
from modules.gitpython_hack import Repo
@@ -48,7 +49,8 @@ class Extension:
                config.read(os.path.join(self.path, "sd_webui_metadata.ini"))
                return config
            except Exception:
                errors.report(f"Error reading sd_webui_metadata.ini for extension {self.canonical_name}.", exc_info=True)
                errors.report(f"Error reading sd_webui_metadata.ini for extension {self.canonical_name}.",
                              exc_info=True)
        return None

    def to_dict(self):
@@ -70,6 +72,7 @@ class Extension:
                self.do_read_info_from_repo()

                return self.to_dict()

        try:
            d = cache.cached_data_for_file('extensions-git', self.name, os.path.join(self.path, ".git"), read_from_repo)
            self.from_dict(d)
@@ -194,8 +197,8 @@ def list_extensions():
                              f"The current loading extension will be discarded.", exc_info=False)
                continue

            # we want to wash the data to lowercase and remove whitespaces just in case
            requires = [x.strip() for x in requires.lower().split(',')] if requires else []
            # both "," and " " are accepted as separator
            requires = list(filter(None, re.split(r"[,\s]+", requires.lower()))) if requires else []

            extension_dependency_map[canonical_name] = {
                "dirname": extension_dirname,
+3 −3
Original line number Diff line number Diff line
@@ -349,9 +349,9 @@ def list_scripts(scriptdirname, extension, *, include_extensions=True):
                    load_before = ext.metadata.get(relative_path, "Before", fallback=None)
                    load_after = ext.metadata.get(relative_path, "After", fallback=None)

                requires = [x.strip() for x in requires.split(',')] if requires else []
                load_after = [x.strip() for x in load_after.split(',')] if load_after else []
                load_before = [x.strip() for x in load_before.split(',')] if load_before else []
                requires = list(filter(None, re.split(r"[,\s]+", requires.lower()))) if requires else []
                load_after = list(filter(None, re.split(r"[,\s]+", load_after.lower()))) if load_after else []
                load_before = list(filter(None, re.split(r"[,\s]+", load_before.lower()))) if load_before else []

                script_dependency_map[script_canonical_name] = {
                    "extension": ext.canonical_name,