""" File: event_handlers.py Author: Dmitry Ryumin Description: File containing functions for configuring event handlers for Gradio components. License: MIT License """ import gradio as gr # Importing necessary components for the Gradio app from app.event_handlers.files import ( event_handler_files, event_handler_files_select, ) from app.event_handlers.examples_blocks import event_handler_examples_blocks from app.event_handlers.clear_blocks import event_handler_clear_blocks from app.event_handlers.calculate_pt_scores_blocks import ( event_handler_calculate_pt_scores_blocks, ) def setup_app_event_handlers( notifications, files, video, examples, calculate_pt_scores, clear_app, pt_scores, csv_pt_scores, ): # Events files.change( event_handler_files, [files], [notifications, video, calculate_pt_scores, clear_app], queue=True, ) files.select( event_handler_files_select, [files], [video], queue=True, ) gr.on( triggers=[calculate_pt_scores.click], fn=event_handler_calculate_pt_scores_blocks, inputs=[files], outputs=[notifications, pt_scores, csv_pt_scores], queue=True, ) examples.click( fn=event_handler_examples_blocks, inputs=[], outputs=[ files, ], queue=True, ) clear_app.click( fn=event_handler_clear_blocks, inputs=[], outputs=[ notifications, files, video, calculate_pt_scores, clear_app, pt_scores, csv_pt_scores, ], queue=True, )