Spaces:
Sleeping
Sleeping
# utils.py | |
import os | |
import uuid | |
import json | |
import shutil | |
def save_uploaded_audio(uploaded_file, filename): | |
output_path = os.path.join("uploads", filename) | |
os.makedirs("uploads", exist_ok=True) | |
with open(output_path, "wb") as f: | |
f.write(uploaded_file.read()) | |
return output_path | |
def get_voice_preset(gender, emotion): | |
presets = { | |
("Male", "Happy"): "male-happy-preset", | |
("Male", "Sad"): "male-sad-preset", | |
("Female", "Happy"): "female-happy-preset", | |
("Female", "Sad"): "female-sad-preset", | |
} | |
return presets.get((gender, emotion), "male-happy-preset") | |
def save_chat_history(chat_data, filename=None): | |
os.makedirs("history", exist_ok=True) | |
if not filename: | |
filename = f"chat_{uuid.uuid4().hex}.json" | |
filepath = os.path.join("history", filename) | |
with open(filepath, "w") as f: | |
json.dump(chat_data, f, indent=2) | |
return filename | |
def load_chat_history(filename): | |
if not filename: | |
return [] | |
try: | |
with open(os.path.join("history", filename), "r") as f: | |
return json.load(f) | |
except Exception: | |
return [] | |
def list_chat_histories(): | |
os.makedirs("history", exist_ok=True) | |
return [f for f in os.listdir("history") if f.endswith(".json")] | |
def clear_all_histories(): | |
if os.path.exists("history"): | |
shutil.rmtree("history") | |
os.makedirs("history") |