30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
class PipelineError(Exception):
|
|
"""Base class for pipeline failures. `stage` and `message` are shown to the
|
|
user directly; the original exception (if any) is kept for logs only."""
|
|
|
|
def __init__(self, stage: str, message: str, cause: Exception | None = None):
|
|
self.stage = stage
|
|
self.message = message
|
|
self.cause = cause
|
|
super().__init__(f"[{stage}] {message}")
|
|
|
|
|
|
class AudioExtractionError(PipelineError):
|
|
def __init__(self, message: str, cause: Exception | None = None):
|
|
super().__init__("audio_extraction", message, cause)
|
|
|
|
|
|
class TranscriptionError(PipelineError):
|
|
def __init__(self, message: str, cause: Exception | None = None):
|
|
super().__init__("transcription", message, cause)
|
|
|
|
|
|
class DiarizationError(PipelineError):
|
|
def __init__(self, message: str, cause: Exception | None = None):
|
|
super().__init__("diarization", message, cause)
|
|
|
|
|
|
class SummarizationError(PipelineError):
|
|
def __init__(self, message: str, cause: Exception | None = None):
|
|
super().__init__("summarization", message, cause)
|