22 lines
692 B
Python
22 lines
692 B
Python
class TrackerError(Exception):
|
|
"""A stable, user-facing tracker failure."""
|
|
|
|
def __init__(self, code, message, *, retryable=False, provider=None, operation=None, details=None):
|
|
super().__init__(message)
|
|
self.code = code
|
|
self.message = message
|
|
self.retryable = retryable
|
|
self.provider = provider
|
|
self.operation = operation
|
|
self.details = details or {}
|
|
|
|
def to_dict(self):
|
|
return {
|
|
"code": self.code,
|
|
"message": self.message,
|
|
"retryable": self.retryable,
|
|
"provider": self.provider,
|
|
"operation": self.operation,
|
|
"details": self.details,
|
|
}
|