(inputs, class_def, unique_id, execution_list=None, dynprompt=None, extra_data={})
| 154 | SENSITIVE_EXTRA_DATA_KEYS = ("auth_token_comfy_org", "api_key_comfy_org") |
| 155 | |
| 156 | def 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": |
no test coverage detected