Spaces:
Running
Running
Worked around metadata table selection issue so I could finally enable it
Browse filesThanks to
@yoonniverse
for reproducing the issue and submitting a [bug report](https://github.com/gradio-app/gradio/issues/9566) that helped me to work around it.
There's still an issue with the table shrinking on scroll, so disabled line-wrapping as that seems to help.
app.py
CHANGED
|
@@ -162,11 +162,9 @@ with gr.Blocks(
|
|
| 162 |
visible = False,
|
| 163 |
)
|
| 164 |
|
| 165 |
-
meta_array = gr.
|
| 166 |
None,
|
| 167 |
label = "Unsupported",
|
| 168 |
-
row_count = (1, "fixed"),
|
| 169 |
-
height = "1rem",
|
| 170 |
interactive = False,
|
| 171 |
visible = False,
|
| 172 |
)
|
|
@@ -195,7 +193,7 @@ with gr.Blocks(
|
|
| 195 |
],
|
| 196 |
datatype = ["str", "str", "str"],
|
| 197 |
column_widths = ["35%", "15%", "50%"],
|
| 198 |
-
wrap =
|
| 199 |
interactive = False,
|
| 200 |
visible = False,
|
| 201 |
)
|
|
@@ -659,7 +657,7 @@ Any framework based on `llama-cpp-python` will let you select which chat templat
|
|
| 659 |
meta_string: gr.Textbox(
|
| 660 |
visible = False,
|
| 661 |
),
|
| 662 |
-
meta_array: gr.
|
| 663 |
visible = False,
|
| 664 |
),
|
| 665 |
}
|
|
@@ -678,7 +676,7 @@ Any framework based on `llama-cpp-python` will let you select which chat templat
|
|
| 678 |
visible = False,
|
| 679 |
),
|
| 680 |
file_meta: gr.Matrix(
|
| 681 |
-
|
| 682 |
visible = False,
|
| 683 |
),
|
| 684 |
meta_keys: gr.Dropdown(
|
|
@@ -712,7 +710,7 @@ Any framework based on `llama-cpp-python` will let you select which chat templat
|
|
| 712 |
meta_string: gr.Textbox(
|
| 713 |
visible = False,
|
| 714 |
),
|
| 715 |
-
meta_array: gr.
|
| 716 |
visible = False,
|
| 717 |
),
|
| 718 |
}
|
|
@@ -728,6 +726,15 @@ Any framework based on `llama-cpp-python` will let you select which chat templat
|
|
| 728 |
],
|
| 729 |
outputs = [
|
| 730 |
meta_state,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 731 |
] + file_change_components,
|
| 732 |
show_progress = 'minimal',
|
| 733 |
)
|
|
@@ -743,7 +750,7 @@ Any framework based on `llama-cpp-python` will let you select which chat templat
|
|
| 743 |
yield {
|
| 744 |
meta_state: meta,
|
| 745 |
file_meta: gr.Matrix(
|
| 746 |
-
|
| 747 |
visible = True,
|
| 748 |
),
|
| 749 |
meta_changes: gr.HighlightedText(
|
|
@@ -757,6 +764,33 @@ Any framework based on `llama-cpp-python` will let you select which chat templat
|
|
| 757 |
btn_download: gr.Button(
|
| 758 |
visible = False,
|
| 759 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 760 |
}
|
| 761 |
|
| 762 |
if not repo_file:
|
|
@@ -793,12 +827,11 @@ Any framework based on `llama-cpp-python` will let you select which chat templat
|
|
| 793 |
m.append(human)
|
| 794 |
meta.key[k] = (v.type, v.value)
|
| 795 |
|
| 796 |
-
|
| 797 |
-
|
| 798 |
-
|
| 799 |
-
|
| 800 |
-
|
| 801 |
-
# }
|
| 802 |
|
| 803 |
for data, human in deferred_updates:
|
| 804 |
human[:] = human_readable_metadata(meta, *data)
|
|
@@ -807,9 +840,6 @@ Any framework based on `llama-cpp-python` will let you select which chat templat
|
|
| 807 |
|
| 808 |
yield {
|
| 809 |
meta_state: meta,
|
| 810 |
-
file_meta: gr.Matrix(
|
| 811 |
-
m,
|
| 812 |
-
),
|
| 813 |
meta_keys: gr.Dropdown(
|
| 814 |
sorted(meta.key.keys() | standard_metadata.keys()),
|
| 815 |
value = '',
|
|
@@ -943,31 +973,30 @@ Any framework based on `llama-cpp-python` will let you select which chat templat
|
|
| 943 |
value = val if typ == GGUFValueType.STRING else '',
|
| 944 |
visible = True if typ == GGUFValueType.STRING else False,
|
| 945 |
),
|
| 946 |
-
meta_array: gr.
|
| 947 |
visible = True if typ == GGUFValueType.ARRAY else False,
|
| 948 |
),
|
| 949 |
}
|
| 950 |
|
| 951 |
|
| 952 |
-
|
| 953 |
-
|
| 954 |
-
|
| 955 |
-
|
| 956 |
-
|
| 957 |
-
|
| 958 |
-
|
| 959 |
-
|
| 960 |
-
|
| 961 |
-
|
| 962 |
-
|
| 963 |
-
|
| 964 |
-
|
| 965 |
-
|
| 966 |
-
|
| 967 |
-
|
| 968 |
-
|
| 969 |
-
|
| 970 |
-
# }
|
| 971 |
|
| 972 |
|
| 973 |
def notify_state_change(
|
|
|
|
| 162 |
visible = False,
|
| 163 |
)
|
| 164 |
|
| 165 |
+
meta_array = gr.Textbox(
|
| 166 |
None,
|
| 167 |
label = "Unsupported",
|
|
|
|
|
|
|
| 168 |
interactive = False,
|
| 169 |
visible = False,
|
| 170 |
)
|
|
|
|
| 193 |
],
|
| 194 |
datatype = ["str", "str", "str"],
|
| 195 |
column_widths = ["35%", "15%", "50%"],
|
| 196 |
+
wrap = False,
|
| 197 |
interactive = False,
|
| 198 |
visible = False,
|
| 199 |
)
|
|
|
|
| 657 |
meta_string: gr.Textbox(
|
| 658 |
visible = False,
|
| 659 |
),
|
| 660 |
+
meta_array: gr.Textbox(
|
| 661 |
visible = False,
|
| 662 |
),
|
| 663 |
}
|
|
|
|
| 676 |
visible = False,
|
| 677 |
),
|
| 678 |
file_meta: gr.Matrix(
|
| 679 |
+
None,
|
| 680 |
visible = False,
|
| 681 |
),
|
| 682 |
meta_keys: gr.Dropdown(
|
|
|
|
| 710 |
meta_string: gr.Textbox(
|
| 711 |
visible = False,
|
| 712 |
),
|
| 713 |
+
meta_array: gr.Textbox(
|
| 714 |
visible = False,
|
| 715 |
),
|
| 716 |
}
|
|
|
|
| 726 |
],
|
| 727 |
outputs = [
|
| 728 |
meta_state,
|
| 729 |
+
meta_types,
|
| 730 |
+
btn_delete,
|
| 731 |
+
meta_boolean,
|
| 732 |
+
meta_token_select,
|
| 733 |
+
meta_token_type,
|
| 734 |
+
meta_lookup,
|
| 735 |
+
meta_number,
|
| 736 |
+
meta_string,
|
| 737 |
+
meta_array,
|
| 738 |
] + file_change_components,
|
| 739 |
show_progress = 'minimal',
|
| 740 |
)
|
|
|
|
| 750 |
yield {
|
| 751 |
meta_state: meta,
|
| 752 |
file_meta: gr.Matrix(
|
| 753 |
+
None,
|
| 754 |
visible = True,
|
| 755 |
),
|
| 756 |
meta_changes: gr.HighlightedText(
|
|
|
|
| 764 |
btn_download: gr.Button(
|
| 765 |
visible = False,
|
| 766 |
),
|
| 767 |
+
meta_types: gr.Dropdown(
|
| 768 |
+
visible = False,
|
| 769 |
+
),
|
| 770 |
+
btn_delete: gr.Button(
|
| 771 |
+
visible = False,
|
| 772 |
+
),
|
| 773 |
+
meta_boolean: gr.Checkbox(
|
| 774 |
+
visible = False,
|
| 775 |
+
),
|
| 776 |
+
meta_token_select: gr.Dropdown(
|
| 777 |
+
visible = False,
|
| 778 |
+
),
|
| 779 |
+
meta_token_type: gr.Dropdown(
|
| 780 |
+
visible = False,
|
| 781 |
+
),
|
| 782 |
+
meta_lookup: gr.Dropdown(
|
| 783 |
+
visible = False,
|
| 784 |
+
),
|
| 785 |
+
meta_number: gr.Number(
|
| 786 |
+
visible = False,
|
| 787 |
+
),
|
| 788 |
+
meta_string: gr.Textbox(
|
| 789 |
+
visible = False,
|
| 790 |
+
),
|
| 791 |
+
meta_array: gr.Textbox(
|
| 792 |
+
visible = False,
|
| 793 |
+
),
|
| 794 |
}
|
| 795 |
|
| 796 |
if not repo_file:
|
|
|
|
| 827 |
m.append(human)
|
| 828 |
meta.key[k] = (v.type, v.value)
|
| 829 |
|
| 830 |
+
yield {
|
| 831 |
+
file_meta: gr.Matrix(
|
| 832 |
+
m,
|
| 833 |
+
),
|
| 834 |
+
}
|
|
|
|
| 835 |
|
| 836 |
for data, human in deferred_updates:
|
| 837 |
human[:] = human_readable_metadata(meta, *data)
|
|
|
|
| 840 |
|
| 841 |
yield {
|
| 842 |
meta_state: meta,
|
|
|
|
|
|
|
|
|
|
| 843 |
meta_keys: gr.Dropdown(
|
| 844 |
sorted(meta.key.keys() | standard_metadata.keys()),
|
| 845 |
value = '',
|
|
|
|
| 973 |
value = val if typ == GGUFValueType.STRING else '',
|
| 974 |
visible = True if typ == GGUFValueType.STRING else False,
|
| 975 |
),
|
| 976 |
+
meta_array: gr.Textbox(
|
| 977 |
visible = True if typ == GGUFValueType.ARRAY else False,
|
| 978 |
),
|
| 979 |
}
|
| 980 |
|
| 981 |
|
| 982 |
+
@gr.on(
|
| 983 |
+
triggers = [
|
| 984 |
+
file_meta.select,
|
| 985 |
+
],
|
| 986 |
+
inputs = [
|
| 987 |
+
],
|
| 988 |
+
outputs = [
|
| 989 |
+
meta_keys,
|
| 990 |
+
],
|
| 991 |
+
)
|
| 992 |
+
def select_metakey(
|
| 993 |
+
evt: gr.SelectData,
|
| 994 |
+
):
|
| 995 |
+
return {
|
| 996 |
+
meta_keys: gr.Dropdown(
|
| 997 |
+
value = evt.row_value[0] if evt.selected else '',
|
| 998 |
+
),
|
| 999 |
+
}
|
|
|
|
| 1000 |
|
| 1001 |
|
| 1002 |
def notify_state_change(
|