transcribe-interview/transcriber/export/txt_writer.py

27 lines
680 B
Python

from pathlib import Path
from transcriber.merge.aligner import MergedSegment
def write_txt(segments: list[MergedSegment], output_path: str) -> str:
"""Export merged segments as a readable dialogue text file.
Args:
segments: List of merged speaker segments.
output_path: Path to the output .txt file.
Returns:
Path to the written file.
"""
path = Path(output_path)
path.parent.mkdir(parents=True, exist_ok=True)
lines = []
for seg in segments:
lines.append(f"[{seg.speaker}]")
lines.append(seg.text)
lines.append("")
path.write_text("\n".join(lines), encoding="utf-8")
return str(path)