def test_exceptions(): HubException() AuthenticationException() AuthorizationException(Response()) AuthorizationException(Response(noerror=True)) NotFoundException() BadRequestException(Response()) BadRequestException(Response(noerror=True)) OverLimitException() ServerException() BadGatewayException() GatewayTimeoutException() WaitTimeoutException() LockedException() HubDatasetNotFoundException("Hello") PermissionException("Hello") ShapeLengthException() ShapeArgumentNotFoundException() SchemaArgumentNotFoundException() ValueShapeError("Shape 1", "Shape 2") NoneValueException("Yahoo!") ModuleNotInstalledException("my_module") WrongUsernameException("usernameX") NotHubDatasetToOverwriteException() NotHubDatasetToAppendException() DynamicTensorNotFoundException() DynamicTensorShapeException("none") DynamicTensorShapeException("length") DynamicTensorShapeException("not_equal") DynamicTensorShapeException("another_cause")
def check_response_status(self, response): """ Check response status and throw corresponding exception on failure """ code = response.status_code if code < 200 or code >= 300: try: message = response.json()["description"] except Exception: message = " " logger.debug(f'Error received: status code: {code}, message: "{message}"') if code == 400: raise BadRequestException(response) elif response.status_code == 401: raise AuthenticationException() elif response.status_code == 403: raise AuthorizationException() elif response.status_code == 404: if message != " ": raise NotFoundException(message) else: raise NotFoundException elif response.status_code == 429: raise OverLimitException(message) elif response.status_code == 502: raise BadGatewayException() elif response.status_code == 504: raise GatewayTimeoutException(message) elif response.status_code == 423: raise LockedException(message) elif 500 <= response.status_code < 600: if "Server under maintenance" in response.content.decode(): raise ServerException( "Server under maintenance, please try again later." ) else: raise ServerException() else: msg = "An error occurred. Server response: {}".format( response.status_code ) raise HubException(message=msg)