Merge pull request #425 from Monadical-SAS/fix-recording-processing

Fix recording processing
This commit is contained in:
2024-10-08 14:03:23 +02:00
committed by GitHub
2 changed files with 39 additions and 1 deletions

View File

@@ -0,0 +1,35 @@
"""Set missing user id
Revision ID: 722e93c4ab22
Revises: a7122bc0b2ca
Create Date: 2024-10-08 12:08:46.844673
"""
from typing import Sequence, Union
from alembic import op
# revision identifiers, used by Alembic.
revision: str = "722e93c4ab22"
down_revision: Union[str, None] = "a7122bc0b2ca"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.execute(
"""
UPDATE transcript as t
SET user_id = r.user_id
FROM meeting m
JOIN room r ON m.room_id = r.id
WHERE t.meeting_id = m.id AND t.user_id IS NULL
"""
)
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###

View File

@@ -8,6 +8,7 @@ import structlog
from celery import shared_task from celery import shared_task
from celery.utils.log import get_task_logger from celery.utils.log import get_task_logger
from reflector.db.meetings import meetings_controller from reflector.db.meetings import meetings_controller
from reflector.db.rooms import rooms_controller
from reflector.db.transcripts import SourceKind, transcripts_controller from reflector.db.transcripts import SourceKind, transcripts_controller
from reflector.pipelines.main_live_pipeline import asynctask, task_pipeline_process from reflector.pipelines.main_live_pipeline import asynctask, task_pipeline_process
from reflector.settings import settings from reflector.settings import settings
@@ -64,12 +65,14 @@ async def process_recording(bucket_name: str, object_key: str):
# extract a guid from the object key # extract a guid from the object key
room_name = f"/{object_key[:36]}" room_name = f"/{object_key[:36]}"
meeting = await meetings_controller.get_by_room_name(room_name) meeting = await meetings_controller.get_by_room_name(room_name)
room = await rooms_controller.get_by_id(meeting.room_id)
transcript = await transcripts_controller.add( transcript = await transcripts_controller.add(
"", "",
source_kind=SourceKind.ROOM, source_kind=SourceKind.ROOM,
source_language="en", source_language="en",
target_language="en", target_language="en",
user_id=meeting.user_id, user_id=room.user_id,
meeting_id=meeting.id, meeting_id=meeting.id,
share_mode="public", share_mode="public",
) )