MCPcopy Index your code
hub / github.com/plotly/dash / handle_grouped_callback_args

Function handle_grouped_callback_args

dash/dependencies.py:332–363  ·  view source on GitHub ↗

Split args into outputs, inputs and states

(args, kwargs)

Source from the content-addressed store, hash-verified

330
331
332def handle_grouped_callback_args(args, kwargs):
333 """Split args into outputs, inputs and states"""
334 prevent_initial_call = kwargs.get("prevent_initial_call", None)
335 if prevent_initial_call is None and args and isinstance(args[-1], bool):
336 args, prevent_initial_call = args[:-1], args[-1]
337
338 # flatten args, to support the older syntax where outputs, inputs, and states
339 # each needed to be in their own list
340 flat_args = []
341 for arg in args:
342 flat_args += arg if isinstance(arg, (list, tuple)) else [arg]
343
344 outputs = extract_grouped_output_callback_args(flat_args, kwargs)
345 flat_outputs = flatten_grouping(outputs)
346
347 if isinstance(outputs, (list, tuple)) and len(outputs) == 1:
348 out0 = kwargs.get("output", args[0] if args else None)
349 if not isinstance(out0, (list, tuple)):
350 # unless it was explicitly provided as a list, a single output
351 # should be unwrapped. That ensures the return value of the
352 # callback is also not expected to be wrapped in a list.
353 outputs = outputs[0]
354
355 inputs_state = extract_grouped_input_state_callback_args(flat_args, kwargs)
356 flat_inputs, flat_state, input_state_indices = compute_input_state_grouping_indices(
357 inputs_state
358 )
359
360 types = Input, Output, State
361 validate_callback(flat_outputs, flat_inputs, flat_state, flat_args, types)
362
363 return outputs, flat_inputs, flat_state, input_state_indices, prevent_initial_call
364
365
366def extract_callback_args(args, kwargs, name, type_):

Callers 1

register_callbackFunction · 0.85

Calls 6

flatten_groupingFunction · 0.85
validate_callbackFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…