Spaces:
Runtime error
Runtime error
| # modules/excluded_colors.py | |
| import gradio as gr | |
| from modules.color_utils import ( | |
| hex_to_rgb, | |
| ) | |
| from modules.image_utils import ( | |
| convert_str_to_int_or_zero, | |
| ) | |
| excluded_color_list = gr.State([(0,0,0,0),(255,255,255,0)]) | |
| def add_color(color, excluded_colors_var): | |
| excluded_colors = excluded_colors_var.value | |
| # Convert the color from hex to RGBA | |
| color = hex_to_rgb(color) + (255,) | |
| if color not in [tuple(lst) for lst in excluded_colors]: | |
| excluded_colors.append(color) | |
| excluded_color_lst = [tuple(lst) for lst in excluded_colors] | |
| else: | |
| excluded_color_lst = [tuple(lst) for lst in excluded_colors] | |
| return excluded_color_lst, excluded_color_lst | |
| def delete_color(row, excluded_colors_var): | |
| global excluded_color_list | |
| excluded_colors = list(excluded_colors_var) | |
| row_index = convert_str_to_int_or_zero(row) | |
| print(f"Delete Excluded Color {row_index} of {len(excluded_colors) - 1}") | |
| if row_index <= len(excluded_colors) - 1: | |
| del excluded_colors[row_index] | |
| excluded_color_lst = [tuple(lst) for lst in excluded_colors] | |
| excluded_color_list = excluded_color_lst | |
| return excluded_color_lst | |
| else: | |
| excluded_color_lst = [tuple(lst) for lst in excluded_color_list] | |
| print(f"Row index {row_index} not found in the list:{excluded_color_lst}") | |
| excluded_color_list = excluded_color_lst | |
| return excluded_color_lst | |
| def build_dataframe(excluded_colors_var): | |
| excluded_colors = [tuple(lst) for lst in excluded_colors_var.value] | |
| #print(f"input: {excluded_colors}") | |
| return excluded_colors | |
| def on_input(excluded_colors): | |
| print(f"input: {excluded_colors}") | |
| excluded_color_lst = [tuple(lst) for lst in excluded_colors] | |
| print(f"output: {excluded_color_lst}") | |
| return excluded_color_lst, excluded_color_lst | |
| # Event listener for when the user selects a row | |
| def on_color_display_select(selected_rows, event: gr.SelectData): | |
| # Get the selected row | |
| selected_index = event.index[0] | |
| print(f"Selected row index:{selected_rows[selected_index]}, index: {selected_index}") | |
| return selected_index |