class ActivityHubException(Exception): """Basic exception for errors raised by TiOPS""" def __init__(self, msg=None): super(ActivityHubException, self).__init__(msg) class ActivityValidationError(ActivityHubException, ValueError): """Value validation error for Activity Hub""" def __init__(self, msg=None): if not msg: msg = 'Validation failed for required fields.' super(ActivityValidationError, self).__init__(msg) class ActivityQueryError(ActivityHubException, ValueError): """Query validation or processing error for Activity Hub""" def __init__(self, msg=None): if not msg: msg = 'Invalid query.' super(ActivityQueryError, self).__init__(msg) class ActivityNotFoundError(ActivityHubException): """Query error indicating identity not found in Activity Hub""" def __init__(self, msg=None): if not msg: msg = 'Requested identity not found.' super(ActivityNotFoundError, self).__init__(msg) class ActivityAuthenticationError(ActivityHubException): """Authentication validation failure for Activity Hub""" def __init__(self, msg=None): if not msg: msg = 'Authentication failure.' super(ActivityAuthenticationError, self).__init__(msg)