Spaces:
Runtime error
Runtime error
| from functools import partial | |
| import gradio as gr | |
| from src.logic.data_fetching import fetch_groups, fetch_metrics, reverse_search, reverse_search_add | |
| def create_reverse_search_tab(base_folder: gr.Textbox, datasets_available: gr.State, datasets_selected: gr.Dropdown): | |
| reverse_search_headline = gr.Markdown(value="# Reverse Metrics Search") | |
| with gr.Row(): | |
| with gr.Column(scale=1): | |
| reverse_grouping_dropdown = gr.Dropdown( | |
| choices=[], | |
| label="Grouping", | |
| multiselect=False, | |
| ) | |
| reverse_metric_name_dropdown = gr.Dropdown( | |
| choices=[], | |
| label="Metric Name", | |
| multiselect=False, | |
| ) | |
| reverse_search_button = gr.Button("Search") | |
| reverse_search_add_button = gr.Button("Add to selection") | |
| with gr.Column(scale=2): | |
| reverse_search_results = gr.Textbox( | |
| label="Found datasets", | |
| lines=10, | |
| placeholder="Found datasets containing the group/metric name. You can modify the selection after search by removing unwanted lines and clicking Add to selection" | |
| ) | |
| datasets_available.change( | |
| fn=partial(fetch_groups, type="union"), | |
| inputs=[base_folder, datasets_available, reverse_grouping_dropdown], | |
| outputs=[reverse_grouping_dropdown], | |
| ) | |
| reverse_grouping_dropdown.select( | |
| fn=partial(fetch_metrics, type="union"), | |
| inputs=[base_folder, datasets_available, reverse_grouping_dropdown, reverse_metric_name_dropdown], | |
| outputs=reverse_metric_name_dropdown, | |
| ) | |
| reverse_search_button.click( | |
| fn=partial(reverse_search), | |
| inputs=[base_folder, datasets_available, reverse_grouping_dropdown, reverse_metric_name_dropdown], | |
| outputs=reverse_search_results, | |
| ) | |
| reverse_search_add_button.click( | |
| fn=reverse_search_add, | |
| inputs=[datasets_selected, reverse_search_results], | |
| outputs=datasets_selected, | |
| ) |