Spaces:
Runtime error
Runtime error
| """ | |
| TranscriptSegment model for storing real-time interview transcription data | |
| """ | |
| from sqlalchemy import Column, Integer, String, Float, Text, DateTime, ForeignKey | |
| from sqlalchemy.sql import func | |
| from sqlalchemy.orm import relationship | |
| from .database import Base | |
| class TranscriptSegment(Base): | |
| __tablename__ = 'transcript_segments' | |
| id = Column(Integer, primary_key=True, index=True) | |
| interview_id = Column(Integer, ForeignKey('interviews.id'), nullable=False, index=True) | |
| timestamp = Column(Float, nullable=False) # Seconds from interview start | |
| speaker = Column(String(50), nullable=False) # 'candidate' or 'interviewer' | |
| text = Column(Text, nullable=False) | |
| confidence = Column(Float) # Whisper confidence score (0.0 to 1.0) | |
| created_at = Column(DateTime(timezone=True), server_default=func.now()) | |
| # Relationships | |
| interview = relationship('Interview', back_populates='transcript_segments') | |
| def __repr__(self): | |
| return f"<TranscriptSegment(id={self.id}, interview_id={self.interview_id}, speaker='{self.speaker}', timestamp={self.timestamp})>" | |
| def to_dict(self): | |
| return { | |
| 'id': self.id, | |
| 'interview_id': self.interview_id, | |
| 'timestamp': self.timestamp, | |
| 'speaker': self.speaker, | |
| 'text': self.text, | |
| 'confidence': self.confidence, | |
| 'created_at': self.created_at.isoformat() if self.created_at else None | |
| } | |