OCEANAI / app /event_handlers /calculate_pt_scores_blocks.py
DmitryRyumin's picture
Summary
05d81c3
raw
history blame
No virus
7.35 kB
"""
File: clear_blocks.py
Author: Elena Ryumina and Dmitry Ryumin
Description: Event handler for clearing Gradio app blocks and components.
License: MIT License
"""
import gradio as gr
# Importing necessary components for the Gradio app
from app.oceanai_init import b5
from app.config import config_data
from app.description_steps import STEP_2
from app.utils import read_csv_file, extract_profession_weights
from app.practical_tasks import supported_practical_tasks
from app.components import (
html_message,
button,
dataframe,
files_create_ui,
radio_create_ui,
number_create_ui,
dropdown_create_ui,
video_create_ui,
)
def event_handler_calculate_pt_scores_blocks(files, evt_data: gr.EventData):
_ = evt_data.target.__class__.__name__
out = False
b5.get_avt_predictions_gradio(
paths=files, url_accuracy="", accuracy=False, lang="en", out=out
)
b5.df_files_.to_csv(config_data.Filenames_PT_SCORES)
first_practical_task = next(iter(supported_practical_tasks))
df_files = b5.df_files_.copy()
df_files.reset_index(inplace=True)
df_traits_priority_for_professions = read_csv_file(config_data.Links_PROFESSIONS)
weights_professions, interactive_professions = extract_profession_weights(
df_traits_priority_for_professions,
config_data.Settings_DROPDOWN_CANDIDATES[0],
)
return (
html_message(config_data.InformationMessages_NOTI_VIDEOS, False, False),
dataframe(
headers=df_files.columns.tolist(),
values=df_files.values.tolist(),
visible=True,
),
files_create_ui(
config_data.Filenames_PT_SCORES,
"single",
[".csv"],
config_data.OtherMessages_EXPORT_PT_SCORES,
True,
False,
True,
"csv-container",
),
gr.HTML(value=STEP_2, visible=True),
gr.Column(visible=True),
radio_create_ui(
first_practical_task,
"Practical tasks",
list(map(str, supported_practical_tasks.keys())),
config_data.InformationMessages_PRACTICAL_TASKS_INFO,
True,
True,
),
radio_create_ui(
supported_practical_tasks[first_practical_task][0],
"Practical subtasks",
supported_practical_tasks[first_practical_task],
config_data.InformationMessages_PRACTICAL_SUBTASKS_INFO,
True,
True,
),
gr.JSON(
value={
str(task): supported_practical_tasks.get(task, [None])[0]
for task in supported_practical_tasks.keys()
},
visible=False,
render=True,
),
gr.Column(visible=True),
number_create_ui(visible=False),
dropdown_create_ui(visible=False),
number_create_ui(visible=False),
number_create_ui(visible=False),
number_create_ui(visible=False),
number_create_ui(visible=False),
number_create_ui(visible=False),
number_create_ui(visible=False),
number_create_ui(visible=False),
number_create_ui(visible=False),
number_create_ui(visible=False),
dropdown_create_ui(
label=f"Potential candidates by professional responsibilities ({len(config_data.Settings_DROPDOWN_CANDIDATES)})",
info=config_data.InformationMessages_DROPDOWN_CANDIDATES_INFO,
choices=config_data.Settings_DROPDOWN_CANDIDATES,
value=config_data.Settings_DROPDOWN_CANDIDATES[0],
visible=True,
elem_classes="dropdown-container",
),
number_create_ui(
value=weights_professions[0],
minimum=config_data.Values_0_100[0],
maximum=config_data.Values_0_100[1],
step=1,
label=config_data.Labels_NUMBER_IMPORTANCE_OPE_LABEL,
info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(
config_data.Values_0_100[0], config_data.Values_0_100[1]
),
show_label=True,
interactive=interactive_professions,
visible=True,
render=True,
elem_classes="number-container",
),
number_create_ui(
value=weights_professions[1],
minimum=config_data.Values_0_100[0],
maximum=config_data.Values_0_100[1],
step=1,
label=config_data.Labels_NUMBER_IMPORTANCE_CON_LABEL,
info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(
config_data.Values_0_100[0], config_data.Values_0_100[1]
),
show_label=True,
interactive=interactive_professions,
visible=True,
render=True,
elem_classes="number-container",
),
number_create_ui(
value=weights_professions[2],
minimum=config_data.Values_0_100[0],
maximum=config_data.Values_0_100[1],
step=1,
label=config_data.Labels_NUMBER_IMPORTANCE_EXT_LABEL,
info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(
config_data.Values_0_100[0], config_data.Values_0_100[1]
),
show_label=True,
interactive=interactive_professions,
visible=True,
render=True,
elem_classes="number-container",
),
number_create_ui(
value=weights_professions[3],
minimum=config_data.Values_0_100[0],
maximum=config_data.Values_0_100[1],
step=1,
label=config_data.Labels_NUMBER_IMPORTANCE_AGR_LABEL,
info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(
config_data.Values_0_100[0], config_data.Values_0_100[1]
),
show_label=True,
interactive=interactive_professions,
visible=True,
render=True,
elem_classes="number-container",
),
number_create_ui(
value=weights_professions[4],
minimum=config_data.Values_0_100[0],
maximum=config_data.Values_0_100[1],
step=1,
label=config_data.Labels_NUMBER_IMPORTANCE_NNEU_LABEL,
info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(
config_data.Values_0_100[0], config_data.Values_0_100[1]
),
show_label=True,
interactive=interactive_professions,
visible=True,
render=True,
elem_classes="number-container",
),
button(
config_data.OtherMessages_CALCULATE_PRACTICAL_TASK,
True,
1,
True,
"calculate_practical_task",
),
gr.Row(visible=False),
gr.Column(visible=False),
dataframe(visible=False),
files_create_ui(
None,
"single",
[".csv"],
config_data.OtherMessages_EXPORT_PS,
True,
False,
False,
"csv-container",
),
video_create_ui(visible=False),
html_message(config_data.InformationMessages_NOTI_IN_DEV, False, False),
)