Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Update state.py
Browse files
state.py
CHANGED
|
@@ -68,8 +68,19 @@ def init_session_state():
|
|
| 68 |
# ---------------------------------------------------------------------------
|
| 69 |
|
| 70 |
def get_display_name(speaker, fileName):
|
| 71 |
-
"""Return the
|
| 72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
|
| 74 |
|
| 75 |
def apply_speaker_renames_to_df(df, fileName, column="task"):
|
|
@@ -118,25 +129,8 @@ def updateCategoryOptions():
|
|
| 118 |
for i, category in enumerate(st.session_state.categories):
|
| 119 |
ms_key = f"multiselect_{category}"
|
| 120 |
new_val = list(st.session_state.get(ms_key, []))
|
| 121 |
-
prev_val = list(st.session_state.categorySelect[i]) if i < len(st.session_state.categorySelect) else []
|
| 122 |
st.session_state.categorySelect[i] = new_val
|
| 123 |
st.session_state[ms_key] = new_val
|
| 124 |
-
|
| 125 |
-
# Tokens newly added to this role → write the role name into speakerRenames
|
| 126 |
-
added = set(new_val) - set(prev_val)
|
| 127 |
-
removed = set(prev_val) - set(new_val)
|
| 128 |
-
for token in added:
|
| 129 |
-
_write_rename(token, category)
|
| 130 |
-
# Tokens removed from this role → revert their display name, but only if
|
| 131 |
-
# it was still set to this role's name (don't clobber a rename sidebar name)
|
| 132 |
-
for token in removed:
|
| 133 |
-
if ": " not in token:
|
| 134 |
-
continue
|
| 135 |
-
fname, raw_sp = token.split(": ", 1)
|
| 136 |
-
current = st.session_state.speakerRenames.get(fname, {}).get(raw_sp, "")
|
| 137 |
-
if current == category:
|
| 138 |
-
_write_rename(token, "")
|
| 139 |
-
|
| 140 |
# Recompute unusedSpeakers for all files
|
| 141 |
all_assigned_tokens = {
|
| 142 |
token
|
|
|
|
| 68 |
# ---------------------------------------------------------------------------
|
| 69 |
|
| 70 |
def get_display_name(speaker, fileName):
|
| 71 |
+
"""Return the best display name for a speaker, in priority order:
|
| 72 |
+
1. Explicit rename (speakerRenames) — set by rename sidebar or rename tab
|
| 73 |
+
2. Role assignment (categorySelect) — e.g. "Instructor" or "Students"
|
| 74 |
+
3. Original raw label — e.g. "SPEAKER_00"
|
| 75 |
+
"""
|
| 76 |
+
explicit = st.session_state.speakerRenames.get(fileName, {}).get(speaker)
|
| 77 |
+
if explicit:
|
| 78 |
+
return explicit
|
| 79 |
+
token = f"{fileName}: {speaker}"
|
| 80 |
+
for i, tokens in enumerate(st.session_state.categorySelect):
|
| 81 |
+
if token in tokens:
|
| 82 |
+
return st.session_state.categories[i]
|
| 83 |
+
return speaker
|
| 84 |
|
| 85 |
|
| 86 |
def apply_speaker_renames_to_df(df, fileName, column="task"):
|
|
|
|
| 129 |
for i, category in enumerate(st.session_state.categories):
|
| 130 |
ms_key = f"multiselect_{category}"
|
| 131 |
new_val = list(st.session_state.get(ms_key, []))
|
|
|
|
| 132 |
st.session_state.categorySelect[i] = new_val
|
| 133 |
st.session_state[ms_key] = new_val
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 134 |
# Recompute unusedSpeakers for all files
|
| 135 |
all_assigned_tokens = {
|
| 136 |
token
|