Commit 520e52f8 authored by wfjsw's avatar wfjsw

allow comma and whitespace as separator

parent 7af576e7
...@@ -2,6 +2,7 @@ import configparser ...@@ -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: ...@@ -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: ...@@ -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(): ...@@ -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,
......
...@@ -349,9 +349,9 @@ def list_scripts(scriptdirname, extension, *, include_extensions=True): ...@@ -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,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment