MZhaovo commited on
Commit
0b2933f
1 Parent(s): 36e76bb

fix. 修复重复保存的bug

Browse files
Files changed (2) hide show
  1. modules/models/base_model.py +8 -0
  2. modules/utils.py +0 -7
modules/models/base_model.py CHANGED
@@ -667,6 +667,14 @@ class BaseLLMModel:
667
  if not filename.endswith(".json"):
668
  filename += ".json"
669
  self.delete_chat_history(self.history_file_path, user_name)
 
 
 
 
 
 
 
 
670
  self.history_file_path = filename
671
  save_file(filename, self.system_prompt, self.history, chatbot, user_name)
672
  return init_history_list(user_name)
 
667
  if not filename.endswith(".json"):
668
  filename += ".json"
669
  self.delete_chat_history(self.history_file_path, user_name)
670
+ # 命名重复检测
671
+ repeat_file_index = 2
672
+ full_path = os.path.join(HISTORY_DIR, user_name, filename)
673
+ while os.path.exists(full_path):
674
+ full_path = os.path.join(HISTORY_DIR, user_name, f"{repeat_file_index}_{filename}")
675
+ repeat_file_index += 1
676
+ filename = os.path.basename(full_path)
677
+
678
  self.history_file_path = filename
679
  save_file(filename, self.system_prompt, self.history, chatbot, user_name)
680
  return init_history_list(user_name)
modules/utils.py CHANGED
@@ -346,15 +346,8 @@ def save_file(filename, system, history, chatbot, user_name):
346
  repeat_file_index = 2
347
  if "/" in filename or "\\" in filename:
348
  history_file_path = filename
349
- dir_path, file_name = os.path.split(history_file_path)
350
- while os.path.exists(history_file_path):
351
- history_file_path = os.path.join(dir_path, f"{repeat_file_index}_{file_name}")
352
- repeat_file_index += 1
353
  else:
354
  history_file_path = os.path.join(HISTORY_DIR, user_name, filename)
355
- while os.path.exists(history_file_path):
356
- history_file_path = os.path.join(HISTORY_DIR, user_name, f"{repeat_file_index}_{filename}")
357
- repeat_file_index += 1
358
 
359
  with open(history_file_path, "w", encoding='utf-8') as f:
360
  json.dump(json_s, f, ensure_ascii=False)
 
346
  repeat_file_index = 2
347
  if "/" in filename or "\\" in filename:
348
  history_file_path = filename
 
 
 
 
349
  else:
350
  history_file_path = os.path.join(HISTORY_DIR, user_name, filename)
 
 
 
351
 
352
  with open(history_file_path, "w", encoding='utf-8') as f:
353
  json.dump(json_s, f, ensure_ascii=False)