Spaces:
Running
Running
| """ | |
| File: practical_task_sorted.py | |
| Author: Elena Ryumina and Dmitry Ryumin | |
| Description: Event handler for the practical task sorted to the Gradio app. | |
| License: MIT License | |
| """ | |
| import gradio as gr | |
| from pathlib import Path | |
| # Importing necessary components for the Gradio app | |
| from app.config import config_data | |
| from app.video_metadata import video_metadata | |
| from app.components import video_create_ui, textbox_create_ui | |
| def event_handler_practical_task_sorted( | |
| type_modes, files, video, practical_task_sorted, evt_data: gr.SelectData | |
| ): | |
| if type_modes == config_data.Settings_TYPE_MODES[0]: | |
| person_id = ( | |
| int( | |
| practical_task_sorted.iloc[evt_data.index[0]][ | |
| config_data.Dataframes_PT_SCORES[0][0] | |
| ] | |
| ) | |
| - 1 | |
| ) | |
| elif type_modes == config_data.Settings_TYPE_MODES[1]: | |
| files = [video] | |
| person_id = 0 | |
| if evt_data.index[0] == 0: | |
| label = "Best" | |
| else: | |
| label = "" | |
| label += " " + config_data.Dataframes_PT_SCORES[0][0] | |
| try: | |
| is_filename = Path(files[person_id]).name in video_metadata | |
| except IndexError: | |
| is_filename = False | |
| person_id = 0 | |
| if is_filename: | |
| person_metadata_list = video_metadata[Path(files[person_id]).name] | |
| person_metadata = ( | |
| gr.Column(visible=True), | |
| gr.Row(visible=True), | |
| gr.Row(visible=True), | |
| gr.Image(visible=True), | |
| textbox_create_ui( | |
| person_metadata_list[0], | |
| "text", | |
| "First name", | |
| None, | |
| None, | |
| 1, | |
| True, | |
| False, | |
| True, | |
| False, | |
| 1, | |
| False, | |
| ), | |
| gr.Row(visible=True), | |
| gr.Image(visible=True), | |
| textbox_create_ui( | |
| person_metadata_list[1], | |
| "text", | |
| "Last name", | |
| None, | |
| None, | |
| 1, | |
| True, | |
| False, | |
| True, | |
| False, | |
| 1, | |
| False, | |
| ), | |
| gr.Row(visible=True), | |
| gr.Row(visible=True), | |
| gr.Image(visible=True), | |
| textbox_create_ui( | |
| person_metadata_list[2], | |
| "email", | |
| "Email", | |
| None, | |
| None, | |
| 1, | |
| True, | |
| False, | |
| True, | |
| False, | |
| 1, | |
| False, | |
| ), | |
| gr.Row(visible=True), | |
| gr.Image(visible=True), | |
| textbox_create_ui( | |
| person_metadata_list[3], | |
| "text", | |
| "Phone number", | |
| None, | |
| None, | |
| 1, | |
| True, | |
| False, | |
| True, | |
| False, | |
| 1, | |
| False, | |
| ), | |
| ) | |
| else: | |
| person_metadata = ( | |
| gr.Column(visible=False), | |
| gr.Row(visible=False), | |
| gr.Row(visible=False), | |
| gr.Image(visible=False), | |
| textbox_create_ui(visible=False), | |
| gr.Row(visible=False), | |
| gr.Image(visible=False), | |
| textbox_create_ui(visible=False), | |
| gr.Row(visible=False), | |
| gr.Row(visible=False), | |
| gr.Image(visible=False), | |
| textbox_create_ui(visible=False), | |
| gr.Row(visible=False), | |
| gr.Image(visible=False), | |
| textbox_create_ui(visible=False), | |
| ) | |
| existing_tuple = ( | |
| gr.Column(visible=True), | |
| video_create_ui( | |
| value=files[person_id], | |
| file_name=Path(files[person_id]).name, | |
| label=f"{label} - " + str(person_id + 1), | |
| visible=True, | |
| elem_classes="video-sorted-container", | |
| ), | |
| ) | |
| return existing_tuple + person_metadata | |