intersteller2887 commited on
Commit
5f09703
·
verified ·
1 Parent(s): 211f12c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -2
app.py CHANGED
@@ -161,7 +161,7 @@ MAX_SUB_DIMS = max(len(d['sub_dims']) for d in DIMENSIONS_DATA)
161
  """def start_challenge():
162
  return gr.update(visible=False), gr.update(visible=True)"""
163
 
164
- def start_challenge(user_data_state):
165
  global QUESTION_SET, updated_count_data
166
 
167
  # 每次点击“开始挑战”时重新抽题
@@ -175,8 +175,32 @@ def start_challenge(user_data_state):
175
 
176
  # 重置 user_data 中的状态(也可以留空)
177
  user_data_state.clear()
178
- return gr.update(visible=False), gr.update(visible=True), user_data_state
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
 
 
 
 
 
 
 
 
 
 
 
180
 
181
  def toggle_education_other(choice):
182
  is_other = (choice == "其他(请注明)")
 
161
  """def start_challenge():
162
  return gr.update(visible=False), gr.update(visible=True)"""
163
 
164
+ """def start_challenge(user_data_state):
165
  global QUESTION_SET, updated_count_data
166
 
167
  # 每次点击“开始挑战”时重新抽题
 
175
 
176
  # 重置 user_data 中的状态(也可以留空)
177
  user_data_state.clear()
178
+ return gr.update(visible=False), gr.update(visible=True), user_data_state"""
179
+
180
+ def start_challenge(user_data_state):
181
+ global QUESTION_SET
182
+
183
+ # Step 1: 读取最新 count.json
184
+ count_data = load_or_initialize_count_json(all_data_audio_paths)
185
+
186
+ # Step 2: 从 eligible 音频中抽题
187
+ selected_audio_paths, _ = sample_audio_paths(
188
+ audio_paths=all_data_audio_paths,
189
+ count_data=count_data.copy(), # 不修改原始数据
190
+ k=5,
191
+ max_count=1
192
+ )
193
 
194
+ # Step 3: 保存抽到的音频文件名在用户状态中
195
+ user_data_state["selected_filenames"] = [os.path.basename(p) for p in selected_audio_paths]
196
+
197
+ # Step 4: 设置题目列表
198
+ QUESTION_SET = [
199
+ {"audio": path, "desc": f"这是音频文件 {os.path.basename(path)} 的描述"}
200
+ for path in selected_audio_paths
201
+ ]
202
+
203
+ return gr.update(visible=False), gr.update(visible=True), user_data_state
204
 
205
  def toggle_education_other(choice):
206
  is_other = (choice == "其他(请注明)")