# -*- coding: utf-8 -*-
######################
# Generic exceptions #
######################
[docs]class InvalidUsage(Exception):
pass
#######################
# Response exceptions #
#######################
[docs]class ResponseError(Exception):
message = '<empty>'
detail = '<empty>'
def __init__(self, error):
if 'message' in error:
self.message = error['message'] or self.message
if 'detail' in error:
self.detail = error['detail'] or self.detail
def __str__(self):
return 'Error in response. Message: %s, Details: %s' % (self.message, self.detail)
[docs]class MissingResult(Exception):
pass
[docs]class ReportUnavailable(Exception):
pass
[docs]class NoResults(Exception):
pass
[docs]class MultipleResults(Exception):
pass
##########################
# OAuthClient exceptions #
##########################
[docs]class MissingToken(Exception):
pass
[docs]class TokenCreateError(Exception):
def __init__(self, error, description, status_code):
self.error = error
self.description = description
self.snow_status_code = status_code
############################
# Query builder exceptions #
############################
[docs]class QueryTypeError(TypeError):
pass
[docs]class QueryMissingField(Exception):
pass
[docs]class QueryEmpty(Exception):
pass
[docs]class QueryExpressionError(Exception):
pass
[docs]class QueryMultipleExpressions(Exception):
pass