| import json | |
| import gradio as gr | |
| import modules.config | |
| def load_parameter_button_click(raw_prompt_txt): | |
| loaded_parameter_dict = json.loads(raw_prompt_txt) | |
| assert isinstance(loaded_parameter_dict, dict) | |
| results = [True, 1] | |
| try: | |
| h = loaded_parameter_dict.get('Prompt', None) | |
| assert isinstance(h, str) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Negative Prompt', None) | |
| assert isinstance(h, str) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Styles', None) | |
| h = eval(h) | |
| assert isinstance(h, list) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Performance', None) | |
| assert isinstance(h, str) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Resolution', None) | |
| width, height = eval(h) | |
| formatted = modules.config.add_ratio(f'{width}*{height}') | |
| if formatted in modules.config.available_aspect_ratios: | |
| results.append(formatted) | |
| results.append(-1) | |
| results.append(-1) | |
| else: | |
| results.append(gr.update()) | |
| results.append(width) | |
| results.append(height) | |
| except: | |
| results.append(gr.update()) | |
| results.append(gr.update()) | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Sharpness', None) | |
| assert h is not None | |
| h = float(h) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Guidance Scale', None) | |
| assert h is not None | |
| h = float(h) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('ADM Guidance', None) | |
| p, n, e = eval(h) | |
| results.append(float(p)) | |
| results.append(float(n)) | |
| results.append(float(e)) | |
| except: | |
| results.append(gr.update()) | |
| results.append(gr.update()) | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Base Model', None) | |
| assert isinstance(h, str) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Refiner Model', None) | |
| assert isinstance(h, str) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Refiner Switch', None) | |
| assert h is not None | |
| h = float(h) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Sampler', None) | |
| assert isinstance(h, str) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Scheduler', None) | |
| assert isinstance(h, str) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| try: | |
| h = loaded_parameter_dict.get('Seed', None) | |
| assert h is not None | |
| h = int(h) | |
| results.append(False) | |
| results.append(h) | |
| except: | |
| results.append(gr.update()) | |
| results.append(gr.update()) | |
| results.append(gr.update(visible=True)) | |
| results.append(gr.update(visible=False)) | |
| for i in range(1, 6): | |
| try: | |
| n, w = loaded_parameter_dict.get(f'LoRA {i}').split(' : ') | |
| w = float(w) | |
| results.append(n) | |
| results.append(w) | |
| except: | |
| results.append(gr.update()) | |
| results.append(gr.update()) | |
| return results | |