duongthienz commited on
Commit
64e93e0
·
verified ·
1 Parent(s): b3fd84b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -9
app.py CHANGED
@@ -178,12 +178,17 @@ def updateCategoryOptions(fileName):
178
  if st.session_state.resetResult:
179
  return
180
  currAnnotation, _ = st.session_state.results[fileName]
181
- speakerNames = currAnnotation.labels()
 
 
 
182
  unusedSpeakers = copy.deepcopy(speakerNames)
183
  for i, category in enumerate(st.session_state['categories']):
184
- category_choices = copy.deepcopy(st.session_state[f'multiselect_{category}'])
185
- st.session_state["categorySelect"][fileName][i] = category_choices
186
- for sp in category_choices:
 
 
187
  try:
188
  unusedSpeakers.remove(sp)
189
  except:
@@ -193,8 +198,12 @@ def updateCategoryOptions(fileName):
193
  def updateMultiSelect():
194
  fileName = st.session_state["select_currFile"]
195
  st.session_state.resetResult = True
 
196
  for i, category in enumerate(st.session_state['categories']):
197
- st.session_state[f'multiselect_{category}'] = st.session_state['categorySelect'][fileName][i]
 
 
 
198
 
199
  def analyze(inFileName):
200
  try:
@@ -584,13 +593,17 @@ try:
584
 
585
  unusedSpeakers = st.session_state.unusedSpeakers[currFile]
586
  categorySelections = st.session_state["categorySelect"][currFile]
 
 
 
 
587
  for i,category in enumerate(st.session_state.categories):
588
- speakerSet = categorySelections[i]
 
589
  st.sidebar.multiselect(category,
590
- speakerSet+unusedSpeakers,
591
- default=speakerSet,
592
  key=f"multiselect_{category}",
593
- format_func=lambda sp: get_display_name(sp, currFile),
594
  on_change=updateCategoryOptions,
595
  args=(currFile,))
596
  st.sidebar.button(f"Remove {category}",key=f"remove_{category}",on_click=removeCategory,args=(i,))
 
178
  if st.session_state.resetResult:
179
  return
180
  currAnnotation, _ = st.session_state.results[fileName]
181
+ speakerNames = list(currAnnotation.labels())
182
+ # Build reverse map: display name -> original SPEAKER_## label
183
+ renames = st.session_state.speakerRenames.get(fileName, {})
184
+ display_to_raw = {v: k for k, v in renames.items()}
185
  unusedSpeakers = copy.deepcopy(speakerNames)
186
  for i, category in enumerate(st.session_state['categories']):
187
+ # Widget stores display names; reverse-map back to SPEAKER_## for storage
188
+ display_choices = copy.deepcopy(st.session_state[f'multiselect_{category}'])
189
+ raw_choices = [display_to_raw.get(d, d) for d in display_choices]
190
+ st.session_state["categorySelect"][fileName][i] = raw_choices
191
+ for sp in raw_choices:
192
  try:
193
  unusedSpeakers.remove(sp)
194
  except:
 
198
  def updateMultiSelect():
199
  fileName = st.session_state["select_currFile"]
200
  st.session_state.resetResult = True
201
+ renames = st.session_state.speakerRenames.get(fileName, {})
202
  for i, category in enumerate(st.session_state['categories']):
203
+ # categorySelect stores SPEAKER_## — convert to display names for the widget
204
+ raw_choices = st.session_state['categorySelect'][fileName][i]
205
+ display_choices = [renames.get(sp, sp) for sp in raw_choices]
206
+ st.session_state[f'multiselect_{category}'] = display_choices
207
 
208
  def analyze(inFileName):
209
  try:
 
593
 
594
  unusedSpeakers = st.session_state.unusedSpeakers[currFile]
595
  categorySelections = st.session_state["categorySelect"][currFile]
596
+ renames = st.session_state.speakerRenames.get(currFile, {})
597
+ # All speaker labels as display names for the multiselect options
598
+ all_speakers_raw = speakerNames # always SPEAKER_## from annotations
599
+ all_speakers_display = [renames.get(sp, sp) for sp in all_speakers_raw]
600
  for i,category in enumerate(st.session_state.categories):
601
+ speakerSet = categorySelections[i] # stored as SPEAKER_##
602
+ default_display = [renames.get(sp, sp) for sp in speakerSet]
603
  st.sidebar.multiselect(category,
604
+ all_speakers_display,
605
+ default=default_display,
606
  key=f"multiselect_{category}",
 
607
  on_change=updateCategoryOptions,
608
  args=(currFile,))
609
  st.sidebar.button(f"Remove {category}",key=f"remove_{category}",on_click=removeCategory,args=(i,))