allow comma and whitespace as separator

This commit is contained in:
wfjsw 2023-11-11 10:58:26 -06:00
parent 7af576e745
commit 520e52f846
2 changed files with 9 additions and 6 deletions

View File

@ -2,6 +2,7 @@ import configparser
import functools import functools
import os import os
import threading import threading
import re
from modules import shared, errors, cache, scripts from modules import shared, errors, cache, scripts
from modules.gitpython_hack import Repo from modules.gitpython_hack import Repo
@ -48,7 +49,8 @@ class Extension:
config.read(os.path.join(self.path, "sd_webui_metadata.ini")) config.read(os.path.join(self.path, "sd_webui_metadata.ini"))
return config return config
except Exception: 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 return None
def to_dict(self): def to_dict(self):
@ -70,6 +72,7 @@ class Extension:
self.do_read_info_from_repo() self.do_read_info_from_repo()
return self.to_dict() return self.to_dict()
try: try:
d = cache.cached_data_for_file('extensions-git', self.name, os.path.join(self.path, ".git"), read_from_repo) d = cache.cached_data_for_file('extensions-git', self.name, os.path.join(self.path, ".git"), read_from_repo)
self.from_dict(d) self.from_dict(d)
@ -194,8 +197,8 @@ def list_extensions():
f"The current loading extension will be discarded.", exc_info=False) f"The current loading extension will be discarded.", exc_info=False)
continue continue
# we want to wash the data to lowercase and remove whitespaces just in case # both "," and " " are accepted as separator
requires = [x.strip() for x in requires.lower().split(',')] if requires else [] requires = list(filter(None, re.split(r"[,\s]+", requires.lower()))) if requires else []
extension_dependency_map[canonical_name] = { extension_dependency_map[canonical_name] = {
"dirname": extension_dirname, "dirname": extension_dirname,

View File

@ -349,9 +349,9 @@ def list_scripts(scriptdirname, extension, *, include_extensions=True):
load_before = ext.metadata.get(relative_path, "Before", fallback=None) load_before = ext.metadata.get(relative_path, "Before", fallback=None)
load_after = ext.metadata.get(relative_path, "After", fallback=None) load_after = ext.metadata.get(relative_path, "After", fallback=None)
requires = [x.strip() for x in requires.split(',')] if requires else [] requires = list(filter(None, re.split(r"[,\s]+", requires.lower()))) if requires else []
load_after = [x.strip() for x in load_after.split(',')] if load_after else [] load_after = list(filter(None, re.split(r"[,\s]+", load_after.lower()))) if load_after else []
load_before = [x.strip() for x in load_before.split(',')] if load_before else [] load_before = list(filter(None, re.split(r"[,\s]+", load_before.lower()))) if load_before else []
script_dependency_map[script_canonical_name] = { script_dependency_map[script_canonical_name] = {
"extension": ext.canonical_name, "extension": ext.canonical_name,