Initial commit: Nat20 Notes — TTRPG session transcription & summarization
This commit is contained in:
29
backend/app/errors.py
Normal file
29
backend/app/errors.py
Normal file
@@ -0,0 +1,29 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user