Spaces:
Runtime error
Runtime error
| from __future__ import annotations | |
| from models import Meeting, Segment | |
| def segment_heading(segment: Segment) -> str: | |
| if segment.recording_mode.value == "room_recorder": | |
| covered = ", ".join(segment.covered_participants) or "Not specified" | |
| return f"## {segment.label} - Room Recorder\n\nCovers: {covered}" | |
| return f"## {segment.label} - Personal Mic" | |
| def render_segments_markdown(meeting: Meeting, transcript_attr: str) -> str: | |
| title = meeting.title or meeting.meeting_id | |
| lines = [ | |
| f"# {title}", | |
| "", | |
| f"Meeting ID: `{meeting.meeting_id}`", | |
| f"Meeting type: `{meeting.meeting_type.value}`", | |
| "", | |
| ] | |
| if not meeting.segments: | |
| lines.append("No transcript segments submitted yet.") | |
| return "\n".join(lines).strip() + "\n" | |
| for segment in sorted(meeting.segments, key=lambda item: item.created_at): | |
| transcript = getattr(segment, transcript_attr, "") or "No transcript available." | |
| lines.extend( | |
| [ | |
| segment_heading(segment), | |
| "", | |
| f"Submitted: {segment.created_at}", | |
| f"Audio file: {segment.audio_file_name or 'Not stored'}", | |
| "", | |
| transcript, | |
| "", | |
| ] | |
| ) | |
| return "\n".join(lines).strip() + "\n" | |
| def render_raw_transcript(meeting: Meeting) -> str: | |
| return render_segments_markdown(meeting, "raw_transcript") | |
| def render_corrected_transcript(meeting: Meeting) -> str: | |
| return render_segments_markdown(meeting, "corrected_transcript") | |