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") |