HirCoir commited on
Commit
a2f2f5d
·
verified ·
1 Parent(s): e13eeae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -5
app.py CHANGED
@@ -19,12 +19,14 @@ app = Flask(__name__)
19
  file_folder = os.path.dirname(os.path.abspath(__file__))
20
  temp_audio_folder = os.path.join(file_folder, 'temp_audio')
21
  chats_folder = os.path.join(file_folder, 'chats')
 
22
  model_folder = None
23
  piper_binary_path = os.path.join(file_folder, 'piper')
24
 
25
  # Create necessary directories
26
  os.makedirs(temp_audio_folder, exist_ok=True)
27
  os.makedirs(chats_folder, exist_ok=True)
 
28
 
29
  # Check default user folder
30
  default_user_folder = "./"
@@ -57,7 +59,8 @@ def get_ollama_models(base_host=DEFAULT_BASE_HOST):
57
 
58
  def load_chat_history(session_id):
59
  try:
60
- with open(os.path.join(chats_folder, f'{session_id}.json'), 'r', encoding='utf-8') as f:
 
61
  return json.load(f).get('messages', [])
62
  except:
63
  return []
@@ -66,8 +69,8 @@ def save_chat(session_id, messages):
66
  if not messages:
67
  return None
68
 
69
- filepath = os.path.join(chats_folder, f'{session_id}.json')
70
- with open(filepath, 'w', encoding='utf-8') as f:
71
  json.dump({
72
  'timestamp': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
73
  'messages': messages
@@ -127,10 +130,11 @@ def set_default_models():
127
 
128
  @app.route('/')
129
  def index():
130
- tts_models = get_available_models()
131
  session_id = str(uuid.uuid4())
 
 
132
  default_tts_model, default_ollama_model = set_default_models()
133
- return render_template('index.html', tts_models=tts_models, session_id=session_id, default_tts_model=default_tts_model, default_ollama_model=default_ollama_model)
134
 
135
  @app.route('/api/list_ollama_models')
136
  def list_ollama_models():
 
19
  file_folder = os.path.dirname(os.path.abspath(__file__))
20
  temp_audio_folder = os.path.join(file_folder, 'temp_audio')
21
  chats_folder = os.path.join(file_folder, 'chats')
22
+ sessions_folder = os.path.join(file_folder, 'sessions')
23
  model_folder = None
24
  piper_binary_path = os.path.join(file_folder, 'piper')
25
 
26
  # Create necessary directories
27
  os.makedirs(temp_audio_folder, exist_ok=True)
28
  os.makedirs(chats_folder, exist_ok=True)
29
+ os.makedirs(sessions_folder, exist_ok=True)
30
 
31
  # Check default user folder
32
  default_user_folder = "./"
 
59
 
60
  def load_chat_history(session_id):
61
  try:
62
+ session_file = os.path.join(sessions_folder, f'{session_id}.json')
63
+ with open(session_file, 'r', encoding='utf-8') as f:
64
  return json.load(f).get('messages', [])
65
  except:
66
  return []
 
69
  if not messages:
70
  return None
71
 
72
+ session_file = os.path.join(sessions_folder, f'{session_id}.json')
73
+ with open(session_file, 'w', encoding='utf-8') as f:
74
  json.dump({
75
  'timestamp': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
76
  'messages': messages
 
130
 
131
  @app.route('/')
132
  def index():
 
133
  session_id = str(uuid.uuid4())
134
+ tts_models = get_available_models()
135
+ chat_files = sorted([f for f in os.listdir(chats_folder) if f.endswith('.json')], reverse=True)
136
  default_tts_model, default_ollama_model = set_default_models()
137
+ return render_template('index.html', tts_models=tts_models, chat_files=chat_files, default_tts_model=default_tts_model, default_ollama_model=default_ollama_model, session_id=session_id)
138
 
139
  @app.route('/api/list_ollama_models')
140
  def list_ollama_models():