duongthienz commited on
Commit
5d09763
·
verified ·
1 Parent(s): e5b95e7

Update state.py

Browse files
Files changed (1) hide show
  1. state.py +30 -0
state.py CHANGED
@@ -565,6 +565,36 @@ def load_demo_multi(demo_paths):
565
  st.session_state.analyzeAllToggle = True
566
 
567
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
568
  def run_analysis_loop(file_names, file_paths_dict):
569
  """Process only new (not yet analyzed) files and populate session state."""
570
  import time
 
565
  st.session_state.analyzeAllToggle = True
566
 
567
 
568
+ def _setup_demo_roles_population(fname):
569
+ """Assign SPEAKER_001 to Instructor, all others to Students, and set
570
+ a random population in [24, 28] for the given demo file."""
571
+ if fname not in st.session_state.results:
572
+ return
573
+ annotation, _ = st.session_state.results[fname]
574
+ labels = list(annotation.labels())
575
+
576
+ instructor_token = f"{fname}: SPEAKER_001"
577
+ student_tokens = [f"{fname}: {sp}" for sp in labels if sp != "SPEAKER_001"]
578
+
579
+ while len(st.session_state.categorySelect) < 2:
580
+ st.session_state.categorySelect.append([])
581
+
582
+ existing_instructor = set(st.session_state.categorySelect[0])
583
+ existing_students = set(st.session_state.categorySelect[1])
584
+
585
+ if instructor_token not in existing_instructor:
586
+ st.session_state.categorySelect[0].append(instructor_token)
587
+ for token in student_tokens:
588
+ if token not in existing_students and token not in existing_instructor:
589
+ st.session_state.categorySelect[1].append(token)
590
+
591
+ all_assigned = {t for tokens in st.session_state.categorySelect for t in tokens}
592
+ st.session_state.unusedSpeakers[fname] = [
593
+ sp for sp in labels if f"{fname}: {sp}" not in all_assigned
594
+ ]
595
+ st.session_state.studentPopulations[fname] = random.randint(24, 28)
596
+
597
+
598
  def run_analysis_loop(file_names, file_paths_dict):
599
  """Process only new (not yet analyzed) files and populate session state."""
600
  import time