from apps.core.views import get_workspace_settings
from apps.editor.models import Project
from apps.editor.services import transcribe_project_audio
from apps.editor.views import _update_project_processing

project = Project.objects.get(pk=4)
settings_obj = get_workspace_settings()
settings_obj.transcription_backend = "stable-ts"
settings_obj.transcription_model = "large-v3"
settings_obj.transcription_language = "auto"
settings_obj.save()


def progress(percent, message):
    _update_project_processing(project.id, status_value="processing", progress=percent, message=message)


_update_project_processing(project.id, status_value="processing", progress=1, message="Arrancando retranscripcion quality-first con large-v3...")
result = transcribe_project_audio(
    project,
    settings_obj,
    language_code="auto",
    model_name="large-v3",
    progress_callback=progress,
)
_update_project_processing(
    project.id,
    status_value="ready",
    progress=100,
    message=f"Transcript listo: {result['words_count']} palabras con {result['backend']} {result['model_name']}.",
)
print({
    "segments": result["segments_count"],
    "words": result["words_count"],
    "backend": result["backend"],
    "model": result["model_name"],
})
