MCPcopy Create free account
hub / github.com/Comfy-Org/ComfyUI / get_input_data

Function get_input_data

execution.py:156–224  ·  view source on GitHub ↗
(inputs, class_def, unique_id, execution_list=None, dynprompt=None, extra_data={})

Source from the content-addressed store, hash-verified

154SENSITIVE_EXTRA_DATA_KEYS = ("auth_token_comfy_org", "api_key_comfy_org")
155
156def get_input_data(inputs, class_def, unique_id, execution_list=None, dynprompt=None, extra_data={}):
157 is_v3 = issubclass(class_def, _ComfyNodeInternal)
158 v3_data: io.V3Data = {}
159 hidden_inputs_v3 = {}
160 valid_inputs = class_def.INPUT_TYPES()
161 if is_v3:
162 valid_inputs, hidden, v3_data = _io.get_finalized_class_inputs(valid_inputs, inputs)
163 input_data_all = {}
164 missing_keys = {}
165 for x in inputs:
166 input_data = inputs[x]
167 _, input_category, input_info = get_input_info(class_def, x, valid_inputs)
168 def mark_missing():
169 missing_keys[x] = True
170 input_data_all[x] = (None,)
171 if is_link(input_data) and (not input_info or not input_info.get("rawLink", False)):
172 input_unique_id = input_data[0]
173 output_index = input_data[1]
174 if execution_list is None:
175 mark_missing()
176 continue # This might be a lazily-evaluated input
177 cached = execution_list.get_cache(input_unique_id, unique_id)
178 if cached is None or cached.outputs is None:
179 mark_missing()
180 continue
181 if output_index >= len(cached.outputs):
182 mark_missing()
183 continue
184 obj = cached.outputs[output_index]
185 input_data_all[x] = obj
186 elif input_category is not None or (is_v3 and class_def.ACCEPT_ALL_INPUTS):
187 input_data_all[x] = [input_data]
188
189 if is_v3:
190 if hidden is not None:
191 if io.Hidden.prompt.name in hidden:
192 hidden_inputs_v3[io.Hidden.prompt] = dynprompt.get_original_prompt() if dynprompt is not None else {}
193 if io.Hidden.dynprompt.name in hidden:
194 hidden_inputs_v3[io.Hidden.dynprompt] = dynprompt
195 if io.Hidden.extra_pnginfo.name in hidden:
196 hidden_inputs_v3[io.Hidden.extra_pnginfo] = extra_data.get('extra_pnginfo', None)
197 if io.Hidden.unique_id.name in hidden:
198 hidden_inputs_v3[io.Hidden.unique_id] = unique_id
199 if io.Hidden.auth_token_comfy_org.name in hidden:
200 hidden_inputs_v3[io.Hidden.auth_token_comfy_org] = extra_data.get("auth_token_comfy_org", None)
201 if io.Hidden.api_key_comfy_org.name in hidden:
202 hidden_inputs_v3[io.Hidden.api_key_comfy_org] = extra_data.get("api_key_comfy_org", None)
203 if io.Hidden.comfy_usage_source.name in hidden:
204 hidden_inputs_v3[io.Hidden.comfy_usage_source] = extra_data.get("comfy_usage_source", None)
205 else:
206 if "hidden" in valid_inputs:
207 h = valid_inputs["hidden"]
208 for x in h:
209 if h[x] == "PROMPT":
210 input_data_all[x] = [dynprompt.get_original_prompt() if dynprompt is not None else {}]
211 if h[x] == "DYNPROMPT":
212 input_data_all[x] = [dynprompt]
213 if h[x] == "EXTRA_PNGINFO":

Callers 3

getMethod · 0.85
executeFunction · 0.85
validate_inputsFunction · 0.85

Calls 7

get_input_infoFunction · 0.90
is_linkFunction · 0.90
mark_missingFunction · 0.85
get_original_promptMethod · 0.80
INPUT_TYPESMethod · 0.45
getMethod · 0.45
get_cacheMethod · 0.45

Tested by

no test coverage detected