diff options
author | Arturo Albacete <aalbacetef@gmail.com> | 2024-01-20 20:15:57 +0000 |
---|---|---|
committer | Arturo Albacete <aalbacetef@gmail.com> | 2024-01-20 20:15:57 +0000 |
commit | d0b65e148bdc3d35f3f8ee38310ba55152ab4880 (patch) | |
tree | 1485c4f2df143b4c3d7e958a232dc9ddb2205280 /modules/ui_common.py | |
parent | 315e40a49c32438551ed6b66138acdf664ecdbc8 (diff) | |
parent | f939bce845ae07536b1c920618743af83e0b01ec (diff) | |
download | stable-diffusion-webui-gfx803-d0b65e148bdc3d35f3f8ee38310ba55152ab4880.tar.gz stable-diffusion-webui-gfx803-d0b65e148bdc3d35f3f8ee38310ba55152ab4880.tar.bz2 stable-diffusion-webui-gfx803-d0b65e148bdc3d35f3f8ee38310ba55152ab4880.zip |
merge dev
Diffstat (limited to 'modules/ui_common.py')
-rw-r--r-- | modules/ui_common.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/modules/ui_common.py b/modules/ui_common.py index 1db72092..92b00719 100644 --- a/modules/ui_common.py +++ b/modules/ui_common.py @@ -63,8 +63,9 @@ def save_files(js_data, images, do_make_zip, index): import csv
filenames = []
fullfns = []
+ parsed_infotexts = []
- #quick dictionary to class object conversion. Its necessary due apply_filename_pattern requiring it
+ # quick dictionary to class object conversion. Its necessary due apply_filename_pattern requiring it
class MyObject:
def __init__(self, d=None):
if d is not None:
@@ -72,16 +73,14 @@ def save_files(js_data, images, do_make_zip, index): setattr(self, key, value)
data = json.loads(js_data)
-
p = MyObject(data)
+
path = shared.opts.outdir_save
save_to_dirs = shared.opts.use_save_to_dirs_for_ui
extension: str = shared.opts.samples_format
start_index = 0
- only_one = False
if index > -1 and shared.opts.save_selected_only and (index >= data["index_of_first_image"]): # ensures we are looking at a specific non-grid picture, and we have save_selected_only
- only_one = True
images = [images[index]]
start_index = index
@@ -117,10 +116,12 @@ def save_files(js_data, images, do_make_zip, index): image = image_from_url_text(filedata)
is_grid = image_index < p.index_of_first_image
- i = 0 if is_grid else (image_index - p.index_of_first_image)
p.batch_index = image_index-1
- fullfn, txt_fullfn = modules.images.save_image(image, path, "", seed=p.all_seeds[i], prompt=p.all_prompts[i], extension=extension, info=p.infotexts[image_index], grid=is_grid, p=p, save_to_dirs=save_to_dirs)
+
+ parameters = parameters_copypaste.parse_generation_parameters(data["infotexts"][image_index], [])
+ parsed_infotexts.append(parameters)
+ fullfn, txt_fullfn = modules.images.save_image(image, path, "", seed=parameters['Seed'], prompt=parameters['Prompt'], extension=extension, info=p.infotexts[image_index], grid=is_grid, p=p, save_to_dirs=save_to_dirs)
filename = os.path.relpath(fullfn, path)
filenames.append(filename)
@@ -129,12 +130,12 @@ def save_files(js_data, images, do_make_zip, index): filenames.append(os.path.basename(txt_fullfn))
fullfns.append(txt_fullfn)
- writer.writerow([data["prompt"], data["seed"], data["width"], data["height"], data["sampler_name"], data["cfg_scale"], data["steps"], filenames[0], data["negative_prompt"], data["sd_model_name"], data["sd_model_hash"]])
+ 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']])
# Make Zip
if do_make_zip:
- zip_fileseed = p.all_seeds[index-1] if only_one else p.all_seeds[0]
- namegen = modules.images.FilenameGenerator(p, zip_fileseed, p.all_prompts[0], image, True)
+ p.all_seeds = [parameters['Seed'] for parameters in parsed_infotexts]
+ namegen = modules.images.FilenameGenerator(p, parsed_infotexts[0]['Seed'], parsed_infotexts[0]['Prompt'], image, True)
zip_filename = namegen.apply(shared.opts.grid_zip_filename_pattern or "[datetime]_[[model_name]]_[seed]-[seed_last]")
zip_filepath = os.path.join(path, f"{zip_filename}.zip")
|