add a retranslate chinese function
This commit is contained in:
@@ -46,6 +46,8 @@ from .models import (
|
||||
SentenceBoundaryDocument,
|
||||
SentenceExplanationRequest,
|
||||
SentenceExplanationResponse,
|
||||
AdminSubtitleTranslationResponse,
|
||||
SubtitleRetranslateRequest,
|
||||
SubtitleTranslationResponse,
|
||||
PasswordResetRequest,
|
||||
SentenceTextUpdate,
|
||||
@@ -668,6 +670,41 @@ def create_app(
|
||||
background_tasks.add_task(_process_safely, processor, video_hash)
|
||||
return {"video_hash": video_hash.lower(), "status": "processing_queued"}
|
||||
|
||||
@application.get(
|
||||
"/api/v1/admin/videos/{video_hash}/subtitle-translation",
|
||||
response_model=AdminSubtitleTranslationResponse,
|
||||
dependencies=[Depends(require_admin)],
|
||||
)
|
||||
def get_admin_subtitle_translation(
|
||||
video_hash: str = SHA256_PATH,
|
||||
) -> AdminSubtitleTranslationResponse:
|
||||
snapshot = application.state.subtitle_translations.admin_snapshot(video_hash)
|
||||
if snapshot is None:
|
||||
raise HTTPException(status_code=404, detail="Course is not available.")
|
||||
return snapshot
|
||||
|
||||
@application.post(
|
||||
"/api/v1/admin/videos/{video_hash}/subtitle-translation",
|
||||
response_model=AdminSubtitleTranslationResponse,
|
||||
dependencies=[Depends(require_admin)],
|
||||
)
|
||||
def retranslate_subtitles(
|
||||
payload: Optional[SubtitleRetranslateRequest] = None,
|
||||
video_hash: str = SHA256_PATH,
|
||||
) -> AdminSubtitleTranslationResponse:
|
||||
request = payload or SubtitleRetranslateRequest()
|
||||
try:
|
||||
return application.state.subtitle_translations.retranslate(
|
||||
video_hash,
|
||||
terms=[(item.source, item.zh) for item in request.terms],
|
||||
)
|
||||
except KeyError:
|
||||
raise HTTPException(status_code=404, detail="Course is not available.") from None
|
||||
except ValueError as exc:
|
||||
raise HTTPException(status_code=422, detail=str(exc)) from exc
|
||||
except AITutorError as exc:
|
||||
raise HTTPException(status_code=503, detail=str(exc)) from exc
|
||||
|
||||
@application.put(
|
||||
"/api/v1/admin/videos/{video_hash}/title",
|
||||
response_model=VideoSummary,
|
||||
|
||||
Reference in New Issue
Block a user