Source code for ocdsmerge.exceptions

from typing import Tuple


[docs] class OCDSMergeError(Exception): """Base class for exceptions from within this package"""
[docs] class MissingDateKeyError(OCDSMergeError, KeyError): """Raised when a release is missing a 'date' key""" def __init__(self, key: str, message: str): self.key = key self.message = message def __str__(self) -> str: return str(self.message)
[docs] class NonObjectReleaseError(OCDSMergeError, TypeError): """Raised when a release is not an object"""
[docs] class NullDateValueError(OCDSMergeError, TypeError): """Raised when a release has a null 'date' value"""
[docs] class NonStringDateValueError(OCDSMergeError, TypeError): """Raised when a release has a non-string 'date' value"""
[docs] class InconsistentTypeError(OCDSMergeError, TypeError): """Raised when a path is a literal and an object in different releases"""
[docs] class OCDSMergeWarning(UserWarning): """Base class for warnings from within this package"""
[docs] class DuplicateIdValueWarning(OCDSMergeWarning): """Used when at least two objects in the same array have the same value for the 'id' field""" def __init__(self, path: Tuple[str, ...], id, message: str): self.path = path self.id = id self.message = message def __str__(self) -> str: return str(self.message)