22
33import logging
44from pathlib import Path
5- from typing import Any
5+ from typing import TYPE_CHECKING , Any
66
7- from dynamicprompts .wildcards import WildcardManager
87from modules import script_callbacks
98from modules .generation_parameters_copypaste import parse_generation_parameters
109from modules .script_callbacks import ImageSaveParams
1110
12- from sd_dynamic_prompts .pnginfo_saver import PngInfoSaver , PromptTemplates
13- from sd_dynamic_prompts .prompt_writer import PromptWriter
11+ from sd_dynamic_prompts .pnginfo_saver import PromptTemplates
1412from sd_dynamic_prompts .settings import on_ui_settings
1513from sd_dynamic_prompts .wildcards_tab import initialize as initialize_wildcards_tab
1614
15+ if TYPE_CHECKING :
16+ from sd_dynamic_prompts .sddp_script import SDDPScript
17+
18+
1719logger = logging .getLogger (__name__ )
1820
1921
20- def register_pnginfo_saver (pnginfo_saver : PngInfoSaver ) -> None :
22+ def register_pnginfo_saver (sddp : SDDPScript ) -> None :
2123 def on_save (image_save_params : ImageSaveParams ) -> None :
24+ if not sddp .is_enabled :
25+ return
26+
2227 try :
2328 if image_save_params .p :
2429 png_info = image_save_params .pnginfo ["parameters" ]
@@ -27,7 +32,7 @@ def on_save(image_save_params: ImageSaveParams) -> None:
2732 negative_template = image_save_params .p .negative_prompt ,
2833 )
2934
30- updated_png_info = pnginfo_saver .update_pnginfo (
35+ updated_png_info = sddp . pnginfo_saver .update_pnginfo (
3136 png_info ,
3237 image_prompts ,
3338 )
@@ -38,26 +43,32 @@ def on_save(image_save_params: ImageSaveParams) -> None:
3843 script_callbacks .on_before_image_saved (on_save )
3944
4045
41- def register_prompt_writer (prompt_writer : PromptWriter ) -> None :
46+ def register_prompt_writer (sddp : SDDPScript ) -> None :
4247 def on_save (image_save_params : ImageSaveParams ) -> None :
48+ if not sddp .is_enabled :
49+ return
50+
4351 image_name = Path (image_save_params .filename )
4452 prompt_filename = image_name .with_suffix (".csv" )
45- prompt_writer .write_prompts (prompt_filename )
53+ sddp . prompt_writer .write_prompts (prompt_filename )
4654
4755 script_callbacks .on_before_image_saved (on_save )
4856
4957
50- def register_on_infotext_pasted (pnginfo_saver : PngInfoSaver ) -> None :
58+ def register_on_infotext_pasted (sddp : SDDPScript ) -> None :
5159 def on_infotext_pasted (infotext : str , parameters : dict [str , Any ]) -> None :
60+ if not sddp .is_enabled :
61+ return
62+
5263 new_parameters = {}
5364 if "Prompt" in parameters and "Template:" in parameters ["Prompt" ]:
54- parameters = pnginfo_saver .strip_template_info (parameters )
65+ parameters = sddp . pnginfo_saver .strip_template_info (parameters )
5566 new_parameters = parse_generation_parameters (parameters ["Prompt" ])
5667 elif (
5768 "Negative prompt" in parameters
5869 and "Template:" in parameters ["Negative prompt" ]
5970 ):
60- parameters = pnginfo_saver .strip_template_info (parameters )
71+ parameters = sddp . pnginfo_saver .strip_template_info (parameters )
6172 new_parameters = parse_generation_parameters (parameters ["Negative prompt" ])
6273 new_parameters ["Negative prompt" ] = new_parameters ["Prompt" ]
6374 new_parameters ["Prompt" ] = parameters ["Prompt" ]
@@ -66,9 +77,12 @@ def on_infotext_pasted(infotext: str, parameters: dict[str, Any]) -> None:
6677 script_callbacks .on_infotext_pasted (on_infotext_pasted )
6778
6879
69- def register_settings ():
70- script_callbacks .on_ui_settings (on_ui_settings )
80+ def register_settings (sddp : SDDPScript ) -> None :
81+ def on_ui_settings_callback ():
82+ on_ui_settings (sddp )
83+
84+ script_callbacks .on_ui_settings (on_ui_settings_callback )
7185
7286
73- def register_wildcards_tab (wildcard_manager : WildcardManager ) :
74- initialize_wildcards_tab (wildcard_manager )
87+ def register_wildcards_tab (sddp : SDDPScript ) -> None :
88+ initialize_wildcards_tab (sddp . wildcard_manager )
0 commit comments