RVC-CH / lib /ui.py
ozipoetra
fix: handle model dropdown refresh when custom models exist
e7d76ff
"""Gradio UI handlers and helpers."""
from __future__ import annotations
import gradio as gr
from .config import logger
from .jobs import get_jobs_table, get_queue_info, jobs, jobs_lock
from .models import extract_zip, list_models
def upload_model(zip_file, model_name):
"""Handle model upload."""
if not zip_file:
return "⚠️ No file provided.", gr.update(), gr.update()
from pathlib import Path
name = (model_name or "").strip() or Path(zip_file).stem
try:
extract_zip(zip_file, name)
models = list_models()
return (
f"✅ Model **{name}** loaded successfully.",
gr.update(choices=models, value=name),
gr.update(value=[[m] for m in models]),
)
except Exception as exc:
logger.exception("Model upload failed")
return f"❌ Error: {exc}", gr.update(), gr.update()
def refresh_models():
"""Refresh the models list."""
models = list_models()
default_value = models[0] if models else None
return gr.update(value=[[m] for m in models]), gr.update(choices=models, value=default_value)
def toggle_autotune(enabled):
"""Toggle autotune slider visibility."""
return gr.update(visible=enabled)