agent-tina / markdown.py
KPrashanth's picture
Deploy Agent Tina
7b406f4 verified
Raw
History Blame Contribute Delete
1.59 kB
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")