Browse Source

add an option to hide postprocessing options in Extras tab

AUTOMATIC1111 1 năm trước cách đây
mục cha
commit
f1a6c5fe17
2 tập tin đã thay đổi với 5 bổ sung2 xóa
  1. 4 2
      modules/scripts_postprocessing.py
  2. 1 0
      modules/shared_options.py

+ 4 - 2
modules/scripts_postprocessing.py

@@ -143,6 +143,7 @@ class ScriptPostprocessingRunner:
             self.initialize_scripts(modules.scripts.postprocessing_scripts_data)
 
         scripts_order = shared.opts.postprocessing_operation_order
+        scripts_filter_out = set(shared.opts.postprocessing_disable_in_extras)
 
         def script_score(name):
             for i, possible_match in enumerate(scripts_order):
@@ -151,9 +152,10 @@ class ScriptPostprocessingRunner:
 
             return len(self.scripts)
 
-        script_scores = {script.name: (script_score(script.name), script.order, script.name, original_index) for original_index, script in enumerate(self.scripts)}
+        filtered_scripts = [script for script in self.scripts if script.name not in scripts_filter_out]
+        script_scores = {script.name: (script_score(script.name), script.order, script.name, original_index) for original_index, script in enumerate(filtered_scripts)}
 
-        return sorted(self.scripts, key=lambda x: script_scores[x.name])
+        return sorted(filtered_scripts, key=lambda x: script_scores[x.name])
 
     def setup_ui(self):
         inputs = []

+ 1 - 0
modules/shared_options.py

@@ -383,6 +383,7 @@ options_templates.update(options_section(('sampler-params', "Sampler parameters"
 
 options_templates.update(options_section(('postprocessing', "Postprocessing", "postprocessing"), {
     'postprocessing_enable_in_main_ui': OptionInfo([], "Enable postprocessing operations in txt2img and img2img tabs", ui_components.DropdownMulti, lambda: {"choices": [x.name for x in shared_items.postprocessing_scripts()]}),
+    'postprocessing_disable_in_extras': OptionInfo([], "Disable postprocessing operations in extras tab", ui_components.DropdownMulti, lambda: {"choices": [x.name for x in shared_items.postprocessing_scripts()]}),
     'postprocessing_operation_order': OptionInfo([], "Postprocessing operation order", ui_components.DropdownMulti, lambda: {"choices": [x.name for x in shared_items.postprocessing_scripts()]}),
     'upscaling_max_images_in_cache': OptionInfo(5, "Maximum number of images in upscaling cache", gr.Slider, {"minimum": 0, "maximum": 10, "step": 1}),
     'postprocessing_existing_caption_action': OptionInfo("Ignore", "Action for existing captions", gr.Radio, {"choices": ["Ignore", "Keep", "Prepend", "Append"]}).info("when generating captions using postprocessing; Ignore = use generated; Keep = use original; Prepend/Append = combine both"),