sync with parent

This commit is contained in:
Igor Loskutov
2025-10-21 11:59:26 -04:00

View File

@@ -11,7 +11,6 @@ from celery import chain, shared_task
from reflector.asynctask import asynctask from reflector.asynctask import asynctask
from reflector.db.transcripts import ( from reflector.db.transcripts import (
TranscriptStatus, TranscriptStatus,
TranscriptText,
TranscriptWaveform, TranscriptWaveform,
transcripts_controller, transcripts_controller,
) )
@@ -19,6 +18,7 @@ from reflector.logger import logger
from reflector.pipelines.main_file_pipeline import task_send_webhook_if_needed from reflector.pipelines.main_file_pipeline import task_send_webhook_if_needed
from reflector.pipelines.main_live_pipeline import ( from reflector.pipelines.main_live_pipeline import (
PipelineMainBase, PipelineMainBase,
broadcast_to_sockets,
task_cleanup_consent, task_cleanup_consent,
task_pipeline_post_to_zulip, task_pipeline_post_to_zulip,
) )
@@ -365,6 +365,7 @@ class PipelineMainMultitrack(PipelineMainBase):
for c in containers: for c in containers:
c.close() c.close()
@broadcast_to_sockets
async def set_status(self, transcript_id: str, status: TranscriptStatus): async def set_status(self, transcript_id: str, status: TranscriptStatus):
async with self.lock_transaction(): async with self.lock_transaction():
return await transcripts_controller.set_status(transcript_id, status) return await transcripts_controller.set_status(transcript_id, status)
@@ -423,7 +424,8 @@ class PipelineMainMultitrack(PipelineMainBase):
transcript.data_path.mkdir(parents=True, exist_ok=True) transcript.data_path.mkdir(parents=True, exist_ok=True)
mp3_writer = AudioFileWriterProcessor( mp3_writer = AudioFileWriterProcessor(
path=str(transcript.audio_mp3_filename) path=str(transcript.audio_mp3_filename),
on_duration=self.on_duration,
) )
# Use PADDED tracks with NO additional offsets (already aligned by padding) # Use PADDED tracks with NO additional offsets (already aligned by padding)
await self.mixdown_tracks( await self.mixdown_tracks(
@@ -542,13 +544,8 @@ class PipelineMainMultitrack(PipelineMainBase):
merged_transcript = TranscriptType(words=merged_words, translation=None) merged_transcript = TranscriptType(words=merged_words, translation=None)
await transcripts_controller.append_event( # Emit TRANSCRIPT event through the shared handler (persists and broadcasts)
transcript, await self.on_transcript(merged_transcript)
event="TRANSCRIPT",
data=TranscriptText(
text=merged_transcript.text, translation=merged_transcript.translation
),
)
topics = await self.detect_topics(merged_transcript, transcript.target_language) topics = await self.detect_topics(merged_transcript, transcript.target_language)
await asyncio.gather( await asyncio.gather(