Merge pull request #16242 from AUTOMATIC1111/option-to-disable-save-button-log.csv-

option to disable save button log.csv
This commit is contained in:
AUTOMATIC1111 2024-07-20 11:40:39 +03:00 committed by GitHub
commit 141d4b71b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 7 deletions

View File

@ -64,6 +64,7 @@ options_templates.update(options_section(('saving-images', "Saving images/grids"
"use_original_name_batch": OptionInfo(True, "Use original name for output filename during batch process in extras tab"), "use_original_name_batch": OptionInfo(True, "Use original name for output filename during batch process in extras tab"),
"use_upscaler_name_as_suffix": OptionInfo(False, "Use upscaler name as filename suffix in the extras tab"), "use_upscaler_name_as_suffix": OptionInfo(False, "Use upscaler name as filename suffix in the extras tab"),
"save_selected_only": OptionInfo(True, "When using 'Save' button, only save a single selected image"), "save_selected_only": OptionInfo(True, "When using 'Save' button, only save a single selected image"),
"save_write_log_csv": OptionInfo(True, "Write log.csv when saving images using 'Save' button"),
"save_init_img": OptionInfo(False, "Save init images when using img2img"), "save_init_img": OptionInfo(False, "Save init images when using img2img"),
"temp_dir": OptionInfo("", "Directory for temporary images; leave empty for default"), "temp_dir": OptionInfo("", "Directory for temporary images; leave empty for default"),

View File

@ -3,6 +3,7 @@ import dataclasses
import json import json
import html import html
import os import os
from contextlib import nullcontext
import gradio as gr import gradio as gr
@ -103,14 +104,15 @@ def save_files(js_data, images, do_make_zip, index):
# NOTE: ensure csv integrity when fields are added by # NOTE: ensure csv integrity when fields are added by
# updating headers and padding with delimiters where needed # updating headers and padding with delimiters where needed
if os.path.exists(logfile_path): if shared.opts.save_write_log_csv and os.path.exists(logfile_path):
update_logfile(logfile_path, fields) update_logfile(logfile_path, fields)
with open(logfile_path, "a", encoding="utf8", newline='') as file: with (open(logfile_path, "a", encoding="utf8", newline='') if shared.opts.save_write_log_csv else nullcontext()) as file:
at_start = file.tell() == 0 if file:
writer = csv.writer(file) at_start = file.tell() == 0
if at_start: writer = csv.writer(file)
writer.writerow(fields) if at_start:
writer.writerow(fields)
for image_index, filedata in enumerate(images, start_index): for image_index, filedata in enumerate(images, start_index):
image = image_from_url_text(filedata) image = image_from_url_text(filedata)
@ -130,7 +132,8 @@ def save_files(js_data, images, do_make_zip, index):
filenames.append(os.path.basename(txt_fullfn)) filenames.append(os.path.basename(txt_fullfn))
fullfns.append(txt_fullfn) fullfns.append(txt_fullfn)
writer.writerow([parsed_infotexts[0]['Prompt'], parsed_infotexts[0]['Seed'], data["width"], data["height"], data["sampler_name"], data["cfg_scale"], data["steps"], filenames[0], parsed_infotexts[0]['Negative prompt'], data["sd_model_name"], data["sd_model_hash"]]) if file:
writer.writerow([parsed_infotexts[0]['Prompt'], parsed_infotexts[0]['Seed'], data["width"], data["height"], data["sampler_name"], data["cfg_scale"], data["steps"], filenames[0], parsed_infotexts[0]['Negative prompt'], data["sd_model_name"], data["sd_model_hash"]])
# Make Zip # Make Zip
if do_make_zip: if do_make_zip: