Update app.py
Browse files
app.py
CHANGED
|
@@ -38,37 +38,41 @@ setup()
|
|
| 38 |
# display some of it
|
| 39 |
# (because gradio pagination is currently broken)
|
| 40 |
# and reset all filter menus
|
|
|
|
| 41 |
def pick_lang(langname):
|
| 42 |
if langname=="Icelandic":
|
| 43 |
df = datas.ds_i
|
|
|
|
|
|
|
| 44 |
|
| 45 |
elif langname =="Faroese":
|
| 46 |
df = datas.ds_f
|
|
|
|
|
|
|
| 47 |
|
| 48 |
dfd = df.drop(columns=['audio', 'speaker_id','duration'])
|
| 49 |
-
return (df, dfd[:15], "all"
|
| 50 |
|
| 51 |
|
| 52 |
|
| 53 |
-
def apply_filters(df,langname,gender
|
| 54 |
|
| 55 |
if langname=="Icelandic":
|
| 56 |
df = datas.ds_i
|
| 57 |
-
# ++ age by lang here...
|
| 58 |
elif langname =="Faroese":
|
| 59 |
df = datas.ds_f
|
| 60 |
-
|
| 61 |
-
|
| 62 |
|
| 63 |
if gender != "all":
|
| 64 |
df = df[df.gender.str.startswith(gender)]
|
| 65 |
|
| 66 |
-
|
| 67 |
-
|
| 68 |
|
| 69 |
|
| 70 |
dfd = df.drop(columns=['audio', 'speaker_id','duration'])
|
| 71 |
-
return (df,dfd[:15])
|
| 72 |
|
| 73 |
|
| 74 |
def f1(langname,ds):
|
|
@@ -111,11 +115,12 @@ with bl:
|
|
| 111 |
|
| 112 |
with gr.Row():
|
| 113 |
gmenu = gr.Dropdown(["all", "f", "m"], label="Gender", value="all")
|
| 114 |
-
amenu = gr.Dropdown(["all"
|
|
|
|
|
|
|
|
|
|
| 115 |
btn0 = gr.Button(value="Apply filters")
|
| 116 |
|
| 117 |
-
# use 2 age menus
|
| 118 |
-
# and set 1 of them visible at a time dependeing on the language.....
|
| 119 |
|
| 120 |
with gr.Row():
|
| 121 |
databrowser = gr.DataFrame(wrap=True, max_rows=50, interactive=False, overflow_row_behaviour='paginate')
|
|
@@ -138,11 +143,11 @@ with bl:
|
|
| 138 |
# reset the dataset
|
| 139 |
# display some data from it
|
| 140 |
# and reset all filter menus
|
| 141 |
-
langmenu.change(pick_lang,langmenu,[ds,databrowser,gmenu])
|
| 142 |
|
| 143 |
# filter the current data and change the state based on this
|
| 144 |
# and display the update
|
| 145 |
-
btn0.click(apply_filters,[ds,langmenu,gmenu],[ds,databrowser])
|
| 146 |
|
| 147 |
|
| 148 |
#
|
|
|
|
| 38 |
# display some of it
|
| 39 |
# (because gradio pagination is currently broken)
|
| 40 |
# and reset all filter menus
|
| 41 |
+
# return [ds,databrowser,gmenu,amenu,dmenu]
|
| 42 |
def pick_lang(langname):
|
| 43 |
if langname=="Icelandic":
|
| 44 |
df = datas.ds_i
|
| 45 |
+
ages = ["all", '18-19', '20-29', '30-39', '40-49', '50-59', '60-69', '70-79', '80-89', '90']
|
| 46 |
+
diaVis = False
|
| 47 |
|
| 48 |
elif langname =="Faroese":
|
| 49 |
df = datas.ds_f
|
| 50 |
+
ages = ["all", '15-35', '36-60', '61+']
|
| 51 |
+
diaVis = True
|
| 52 |
|
| 53 |
dfd = df.drop(columns=['audio', 'speaker_id','duration'])
|
| 54 |
+
return (df, dfd[:15], "all", gr.update(choices=ages,value="all"),gr.update(visible=diaVis,value="all"))
|
| 55 |
|
| 56 |
|
| 57 |
|
| 58 |
+
def apply_filters(df,langname,gender,age,dia):
|
| 59 |
|
| 60 |
if langname=="Icelandic":
|
| 61 |
df = datas.ds_i
|
|
|
|
| 62 |
elif langname =="Faroese":
|
| 63 |
df = datas.ds_f
|
| 64 |
+
if dia != all:
|
| 65 |
+
df = df[df.dialect.lower() == dia.lower()]
|
| 66 |
|
| 67 |
if gender != "all":
|
| 68 |
df = df[df.gender.str.startswith(gender)]
|
| 69 |
|
| 70 |
+
if age != "all":
|
| 71 |
+
df = df[df.age == age]
|
| 72 |
|
| 73 |
|
| 74 |
dfd = df.drop(columns=['audio', 'speaker_id','duration'])
|
| 75 |
+
return (df,dfd[:max(15,len(dfd))])
|
| 76 |
|
| 77 |
|
| 78 |
def f1(langname,ds):
|
|
|
|
| 115 |
|
| 116 |
with gr.Row():
|
| 117 |
gmenu = gr.Dropdown(["all", "f", "m"], label="Gender", value="all")
|
| 118 |
+
amenu = gr.Dropdown(["all"], label="Age", value="all")
|
| 119 |
+
dmenu = gr.Dropdown(["all", "Norðuroyggjar (inklusive of Eiði, Gjógv og Funningur)",
|
| 120 |
+
'Norðurstreymoy/Eysturoy (exclusive of Eiði, Gjógv og Funningur)',
|
| 121 |
+
'Vágar', 'Sandoy', 'Suðuroy', 'Suðurstreymoy'], label="Dialect", value = "all", visible = False)
|
| 122 |
btn0 = gr.Button(value="Apply filters")
|
| 123 |
|
|
|
|
|
|
|
| 124 |
|
| 125 |
with gr.Row():
|
| 126 |
databrowser = gr.DataFrame(wrap=True, max_rows=50, interactive=False, overflow_row_behaviour='paginate')
|
|
|
|
| 143 |
# reset the dataset
|
| 144 |
# display some data from it
|
| 145 |
# and reset all filter menus
|
| 146 |
+
langmenu.change(pick_lang,langmenu,[ds,databrowser,gmenu,amenu,dmenu])
|
| 147 |
|
| 148 |
# filter the current data and change the state based on this
|
| 149 |
# and display the update
|
| 150 |
+
btn0.click(apply_filters,[ds,langmenu,gmenu,amenu,dmenu],[ds,databrowser])
|
| 151 |
|
| 152 |
|
| 153 |
#
|