MCPcopy Create free account
hub / github.com/SipherAGI/sd-webui-agent-scheduler / Script

Class Script

scripts/task_scheduler.py:72–236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70
71
72class Script(scripts.Script):
73 def __init__(self):
74 super().__init__()
75 script_callbacks.on_app_started(lambda block, _: self.on_app_started(block))
76 self.checkpoint_override = checkpoint_current
77 self.generate_button = None
78 self.enqueue_row = None
79 self.checkpoint_dropdown = None
80 self.submit_button = None
81
82 def title(self):
83 return "Agent Scheduler"
84
85 def show(self, is_img2img):
86 return scripts.AlwaysVisible
87
88 def on_checkpoint_changed(self, checkpoint):
89 self.checkpoint_override = checkpoint
90
91 def after_component(self, component, **_kwargs):
92 generate_id = "txt2img_generate" if self.is_txt2img else "img2img_generate"
93 generate_box = "txt2img_generate_box" if self.is_txt2img else "img2img_generate_box"
94 actions_column_id = "txt2img_actions_column" if self.is_txt2img else "img2img_actions_column"
95 neg_id = "txt2img_neg_prompt" if self.is_txt2img else "img2img_neg_prompt"
96 toprow_id = "txt2img_toprow" if self.is_txt2img else "img2img_toprow"
97
98 def add_enqueue_row(elem_id):
99 parent = component.parent
100 while parent is not None:
101 if parent.elem_id == elem_id:
102 self.add_enqueue_button()
103 component.parent.children.pop()
104 parent.add(self.enqueue_row)
105 break
106 parent = parent.parent
107
108 if component.elem_id == generate_id:
109 self.generate_button = component
110 if getattr(shared.opts, "compact_prompt_box", False):
111 add_enqueue_row(generate_box)
112 else:
113 if getattr(shared.opts, "queue_button_placement", placement_under_generate) == placement_under_generate:
114 add_enqueue_row(actions_column_id)
115 elif component.elem_id == neg_id:
116 if not getattr(shared.opts, "compact_prompt_box", False):
117 if getattr(shared.opts, "queue_button_placement", placement_under_generate) == placement_between_prompt_and_generate:
118 add_enqueue_row(toprow_id)
119
120 def on_app_started(self, block):
121 if self.generate_button is not None:
122 self.bind_enqueue_button(block)
123
124 def add_enqueue_button(self):
125 id_part = "img2img" if self.is_img2img else "txt2img"
126 with gr.Row(elem_id=f"{id_part}_enqueue_wrapper") as row:
127 self.enqueue_row = row
128 hide_checkpoint = getattr(shared.opts, "queue_button_hide_checkpoint", True)
129 self.checkpoint_dropdown = gr.Dropdown(

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected