X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c59093180fd92f0d7c6607a49458446212ebd058..a05e443dbfcde94651afe783e633b08d79e2b6d1:/sdk/python/arvados/errors.py diff --git a/sdk/python/arvados/errors.py b/sdk/python/arvados/errors.py index bfd471ba52..15b1f6d4b9 100644 --- a/sdk/python/arvados/errors.py +++ b/sdk/python/arvados/errors.py @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 + # errors.py - Arvados-specific exceptions. import json @@ -8,7 +12,7 @@ from collections import OrderedDict class ApiError(apiclient_errors.HttpError): def _get_reason(self): try: - return '; '.join(json.loads(self.content)['errors']) + return '; '.join(json.loads(self.content.decode('utf-8'))['errors']) except (KeyError, TypeError, ValueError): return super(ApiError, self)._get_reason() @@ -37,7 +41,7 @@ class KeepRequestError(Exception): self._request_errors = OrderedDict(request_errors) if self._request_errors: exc_reports = [self._format_error(*err_pair) - for err_pair in self._request_errors.iteritems()] + for err_pair in self._request_errors.items()] base_msg = "{}: {}".format(message, "; ".join(exc_reports)) else: base_msg = message @@ -78,6 +82,8 @@ class KeepReadError(KeepRequestError): pass class KeepWriteError(KeepRequestError): pass +class KeepCacheError(KeepRequestError): + pass class NotFoundError(KeepReadError): pass class NotImplementedError(Exception):