@@ -499,16 +499,8 @@ def _handle_rest_background_callback(
499
499
response ["sideUpdate" ] = updated_props
500
500
has_update = True
501
501
502
- if output_value is callback_manager .UNDEFINED :
503
- return to_json (response ), has_update , True
504
- else :
505
- try :
506
- output_value = _invoke_callback (func , * func_args , ** func_kwargs ) # type: ignore[reportArgumentType]
507
- except PreventUpdate as err :
508
- raise err
509
- except Exception as err : # pylint: disable=broad-exception-caught
510
- if error_handler :
511
- output_value = error_handler (err )
502
+ if output_value is callback_manager .UNDEFINED :
503
+ return to_json (response ), has_update , True
512
504
return output_value , has_update , False
513
505
514
506
@@ -588,58 +580,6 @@ def _prepare_response(
588
580
response ["dist" ] = dist
589
581
return response .update ({"response" : component_ids })
590
582
591
- # pylint: disable=too-many-branches,too-many-statements
592
- def register_callback (
593
- callback_list , callback_map , config_prevent_initial_callbacks , * _args , ** _kwargs
594
- ):
595
- (
596
- output ,
597
- flat_inputs ,
598
- flat_state ,
599
- inputs_state_indices ,
600
- prevent_initial_call ,
601
- ) = handle_grouped_callback_args (_args , _kwargs )
602
- if isinstance (output , Output ):
603
- # Insert callback with scalar (non-multi) Output
604
- insert_output = output
605
- multi = False
606
- has_output = True
607
- else :
608
- # Insert callback as multi Output
609
- insert_output = flatten_grouping (output )
610
- multi = True
611
- has_output = len (output ) > 0
612
-
613
- background = _kwargs .get ("background" )
614
- manager = _kwargs .get ("manager" )
615
- running = _kwargs .get ("running" )
616
- on_error = _kwargs .get ("on_error" )
617
- if running is not None :
618
- if not isinstance (running [0 ], (list , tuple )):
619
- running = [running ]
620
- running = {
621
- "running" : {str (r [0 ]): r [1 ] for r in running },
622
- "runningOff" : {str (r [0 ]): r [2 ] for r in running },
623
- }
624
- allow_dynamic_callbacks = _kwargs .get ("_allow_dynamic_callbacks" )
625
-
626
- output_indices = make_grouping_by_index (output , list (range (grouping_len (output ))))
627
- callback_id = insert_callback (
628
- callback_list ,
629
- callback_map ,
630
- config_prevent_initial_callbacks ,
631
- insert_output ,
632
- output_indices ,
633
- flat_inputs ,
634
- flat_state ,
635
- inputs_state_indices ,
636
- prevent_initial_call ,
637
- background = background ,
638
- manager = manager ,
639
- dynamic_creator = allow_dynamic_callbacks ,
640
- running = running ,
641
- no_output = not has_output ,
642
- )
643
583
644
584
# pylint: disable=too-many-branches,too-many-statements
645
585
def register_callback (
@@ -744,7 +684,13 @@ def add_context(*args, **kwargs):
744
684
if skip :
745
685
return output_value
746
686
else :
747
- output_value = _invoke_callback (func , * func_args , ** func_kwargs )
687
+ try :
688
+ output_value = _invoke_callback (func , * func_args , ** func_kwargs ) # type: ignore[reportArgumentType]
689
+ except PreventUpdate as err :
690
+ raise err
691
+ except Exception as err : # pylint: disable=broad-exception-caught
692
+ if error_handler :
693
+ output_value = error_handler (err )
748
694
except PreventUpdate :
749
695
raise
750
696
except Exception as err : # pylint: disable=broad-exception-caught
0 commit comments