OCEANAI / app /event_handlers /switching_modes.py
DmitryRyumin's picture
Summary
98c66ee
raw
history blame
6.51 kB
"""
File: switching_modes.py
Author: Elena Ryumina and Dmitry Ryumin
Description: Event handler for switching modes.
License: MIT License
"""
import gradio as gr
# Importing necessary components for the Gradio app
from app.config import config_data
from app.description_steps import STEP_2
from app.practical_tasks import supported_practical_tasks
from app.components import (
html_message,
files_create_ui,
video_create_ui,
button,
dataframe,
radio_create_ui,
number_create_ui,
dropdown_create_ui,
textbox_create_ui,
)
from app.utils import get_language_settings
def event_handler_switching_modes(language, type_modes):
lang_id, _ = get_language_settings(language)
first_practical_task = next(iter(supported_practical_tasks[lang_id]))
if type_modes == config_data.Settings_TYPE_MODES[0]:
files_ui = files_create_ui(
label="{} ({})".format(
config_data.OtherMessages_VIDEO_FILES[lang_id],
", ".join(config_data.Settings_SUPPORTED_VIDEO_EXT),
),
file_types=[f".{ext}" for ext in config_data.Settings_SUPPORTED_VIDEO_EXT],
interactive=False,
visible=False,
)
webcam = gr.Video(interactive=True, visible=True)
switching_modes = button(
config_data.OtherMessages_SWITCHEHG_MODES_OFFLINE[lang_id],
True,
1,
"./images/videos.ico",
True,
"switching_modes",
)
type_modes_ui = gr.Radio(
choices=config_data.Settings_TYPE_MODES,
value=config_data.Settings_TYPE_MODES[1],
)
elif type_modes == config_data.Settings_TYPE_MODES[1]:
files_ui = files_create_ui(
label="{} ({})".format(
config_data.OtherMessages_VIDEO_FILES[lang_id],
", ".join(config_data.Settings_SUPPORTED_VIDEO_EXT),
),
file_types=[f".{ext}" for ext in config_data.Settings_SUPPORTED_VIDEO_EXT],
)
webcam = gr.Video(interactive=False, visible=False)
switching_modes = button(
config_data.OtherMessages_SWITCHEHG_MODES_ONLINE[lang_id],
True,
1,
"./images/webcam.ico",
True,
"switching_modes",
)
type_modes_ui = gr.Radio(
choices=config_data.Settings_TYPE_MODES,
value=config_data.Settings_TYPE_MODES[0],
)
return (
html_message(
config_data.InformationMessages_NOTI_VIDEOS[lang_id],
False,
True,
"notifications",
),
files_ui,
webcam,
switching_modes,
type_modes_ui,
video_create_ui(),
button(
config_data.OtherMessages_CALCULATE_PT_SCORES[lang_id],
False,
3,
"./images/calculate_pt_scores.ico",
True,
"calculate_oceanai",
),
button(
config_data.OtherMessages_CLEAR_APP[lang_id],
False,
1,
"./images/clear.ico",
True,
"clear_oceanai",
),
dataframe(visible=False),
files_create_ui(
None,
"single",
[".csv"],
config_data.OtherMessages_EXPORT_PT_SCORES[lang_id],
True,
False,
False,
"csv-container",
),
gr.HTML(value=STEP_2[lang_id], visible=False),
gr.Column(visible=False),
radio_create_ui(
first_practical_task,
config_data.Labels_PRACTICAL_TASKS_LABEL[lang_id],
list(map(str, supported_practical_tasks[lang_id].keys())),
config_data.InformationMessages_PRACTICAL_TASKS_INFO[lang_id],
True,
True,
),
radio_create_ui(
supported_practical_tasks[lang_id][first_practical_task][0],
config_data.Labels_PRACTICAL_SUBTASKS_LABEL[lang_id],
supported_practical_tasks[lang_id][first_practical_task],
config_data.InformationMessages_PRACTICAL_SUBTASKS_INFO[lang_id],
True,
True,
),
gr.JSON(
value={
str(task): supported_practical_tasks[index].get(task, [None])[0]
for index in range(len(supported_practical_tasks))
for task in supported_practical_tasks[index].keys()
},
visible=False,
render=True,
),
gr.Column(visible=False),
dropdown_create_ui(visible=False),
number_create_ui(visible=False),
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(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),
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",
),
gr.Accordion(visible=False),
gr.HTML(visible=False),
dataframe(visible=False),
gr.Column(visible=False),
video_create_ui(visible=False),
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),
html_message(config_data.InformationMessages_NOTI_IN_DEV, False, False),
)