| import os |
|
|
| from modules.paths import data_path |
| from modules.processing import StableDiffusionProcessing, StableDiffusionProcessingImg2Img |
|
|
| from scripts.animatediff_ui import AnimateDiffProcess |
| from scripts.animatediff_logger import logger_animatediff as logger |
|
|
|
|
| def update_infotext(p: StableDiffusionProcessing, params: AnimateDiffProcess): |
| if p.extra_generation_params is not None: |
| p.extra_generation_params["AnimateDiff"] = params.get_dict(isinstance(p, StableDiffusionProcessingImg2Img)) |
|
|
|
|
| def write_params_txt(info: str): |
| with open(os.path.join(data_path, "params.txt"), "w", encoding="utf8") as file: |
| file.write(info) |
|
|
|
|
|
|
| def infotext_pasted(infotext, results): |
| for k, v in results.items(): |
| if not k.startswith("AnimateDiff"): |
| continue |
|
|
| assert isinstance(v, str), f"Expected string but got {v}." |
| try: |
| for items in v.split(', '): |
| field, value = items.split(': ') |
| results[f"AnimateDiff {field}"] = value |
| results.pop("AnimateDiff") |
| except Exception as e: |
| logger.warn(f"Failed to parse infotext value:\n{v}") |
| logger.warn(f"Exception: {e}") |
| break |
|
|