瀏覽代碼

change code for variant requirements in metadata.ini

AUTOMATIC1111 1 年之前
父節點
當前提交
79cbc92abf
共有 1 個文件被更改,包括 8 次插入26 次删除
  1. 8 26
      modules/extensions.py

+ 8 - 26
modules/extensions.py

@@ -66,33 +66,15 @@ class ExtensionMetadata:
         if extra_section:
             x = x + ', ' + self.config.get(extra_section, field, fallback='')
 
-        tmp_list = self.parse_list(x.lower())
-
-        if len(tmp_list) >= 3:
-            names_variants = []
-            i = 0
-            while i < len(tmp_list) - 2:
-                if tmp_list[i] != "|":
-                    names_variants.append([tmp_list[i]])
-                    i += 1
-                else:
-                    names_variants[-1].append(tmp_list[i + 1])
-                    i += 2
-            while i < len(tmp_list):
-                names_variants.append([tmp_list[i]])
-                i += 1
-
-            result_list = []
-
-            for name_variants in names_variants:
-                for variant in name_variants:
-                    if variant in loaded_extensions.keys():
-                        break
-                result_list.append(variant)
-        else:
-            result_list = tmp_list
+        listed_requirements = self.parse_list(x.lower())
+        res = []
 
-        return result_list
+        for requirement in listed_requirements:
+            loaded_requirements = (x for x in requirement.split("|") if x in loaded_extensions)
+            relevant_requirement = next(loaded_requirements, listed_requirements[0])
+            res.append(relevant_requirement)
+
+        return res
 
     def parse_list(self, text):
         """converts a line from config ("ext1 ext2, ext3  ") into a python list (["ext1", "ext2", "ext3"])"""