From b5d705e26324e1069e82dda149f7bf494da31142 Mon Sep 17 00:00:00 2001 From: EyeDeck Date: Sat, 24 Sep 2022 09:29:20 -0400 Subject: [PATCH] Disable 'batch img2img' when launched with --hide-ui-dir-config Prevent writing to arbitrary directories, as usual --- modules/img2img.py | 2 ++ modules/shared.py | 2 +- modules/ui.py | 7 ++++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/img2img.py b/modules/img2img.py index bce8b712..d80b3e75 100644 --- a/modules/img2img.py +++ b/modules/img2img.py @@ -108,6 +108,8 @@ def img2img(mode: int, prompt: str, negative_prompt: str, prompt_style: str, pro p.extra_generation_params["Mask blur"] = mask_blur if is_batch: + assert not shared.cmd_opts.hide_ui_dir_config, "Launched with --hide-ui-dir-config, batch img2img disabled" + process_batch(p, img2img_batch_input_dir, img2img_batch_output_dir, args) processed = Processed(p, [], p.seed, "") diff --git a/modules/shared.py b/modules/shared.py index 7bad7a6d..1ce6eefc 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -116,7 +116,7 @@ def options_section(section_identifer, options_dict): return options_dict -hide_dirs = {"visible": False} if cmd_opts.hide_ui_dir_config else None +hide_dirs = {"visible": not cmd_opts.hide_ui_dir_config} options_templates = {} diff --git a/modules/ui.py b/modules/ui.py index e0ed26d9..5c355e15 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -578,9 +578,10 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): inpaint_full_res_padding = gr.Slider(label='Inpaint at full resolution padding, pixels', minimum=0, maximum=256, step=4, value=32) with gr.TabItem('Batch img2img', id='batch'): - gr.HTML("

Process images in a directory on the same machine where the server is running.

") - img2img_batch_input_dir = gr.Textbox(label="Input directory") - img2img_batch_output_dir = gr.Textbox(label="Output directory") + hidden = '
Disabled when launched with --hide-ui-dir-config.' if shared.cmd_opts.hide_ui_dir_config else '' + gr.HTML(f"

Process images in a directory on the same machine where the server is running.{hidden}

") + img2img_batch_input_dir = gr.Textbox(label="Input directory", **shared.hide_dirs) + img2img_batch_output_dir = gr.Textbox(label="Output directory", **shared.hide_dirs) with gr.Row(): resize_mode = gr.Radio(label="Resize mode", elem_id="resize_mode", show_label=False, choices=["Just resize", "Crop and resize", "Resize and fill"], type="index", value="Just resize")