projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
21211: Clean arvados.safeapi imports
[arvados.git]
/
sdk
/
python
/
arvados
/
errors.py
diff --git
a/sdk/python/arvados/errors.py
b/sdk/python/arvados/errors.py
index 3629520a4d5f7216a86a5b085585e4f0756b3581..15b1f6d4b9883b53c995fd2724a50131b7b28b44 100644
(file)
--- a/
sdk/python/arvados/errors.py
+++ b/
sdk/python/arvados/errors.py
@@
-1,7
+1,10
@@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
# errors.py - Arvados-specific exceptions.
import json
# errors.py - Arvados-specific exceptions.
import json
-import requests
from apiclient import errors as apiclient_errors
from collections import OrderedDict
from apiclient import errors as apiclient_errors
from collections import OrderedDict
@@
-9,7
+12,7
@@
from collections import OrderedDict
class ApiError(apiclient_errors.HttpError):
def _get_reason(self):
try:
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()
except (KeyError, TypeError, ValueError):
return super(ApiError, self)._get_reason()
@@
-38,7
+41,7
@@
class KeepRequestError(Exception):
self._request_errors = OrderedDict(request_errors)
if self._request_errors:
exc_reports = [self._format_error(*err_pair)
self._request_errors = OrderedDict(request_errors)
if self._request_errors:
exc_reports = [self._format_error(*err_pair)
- for err_pair in self._request_errors.ite
rite
ms()]
+ for err_pair in self._request_errors.items()]
base_msg = "{}: {}".format(message, "; ".join(exc_reports))
else:
base_msg = message
base_msg = "{}: {}".format(message, "; ".join(exc_reports))
else:
base_msg = message
@@
-46,7
+49,7
@@
class KeepRequestError(Exception):
self.message = message
def _format_error(self, key, error):
self.message = message
def _format_error(self, key, error):
- if isinstance(error,
requests.Response
):
+ if isinstance(error,
HttpError
):
err_fmt = "{} {} responded with {e.status_code} {e.reason}"
else:
err_fmt = "{} {} raised {e.__class__.__name__} ({e})"
err_fmt = "{} {} responded with {e.status_code} {e.reason}"
else:
err_fmt = "{} {} raised {e.__class__.__name__} ({e})"
@@
-61,6
+64,12
@@
class KeepRequestError(Exception):
return self._request_errors
return self._request_errors
+class HttpError(Exception):
+ def __init__(self, status_code, reason):
+ self.status_code = status_code
+ self.reason = reason
+
+
class ArgumentError(Exception):
pass
class SyntaxError(Exception):
class ArgumentError(Exception):
pass
class SyntaxError(Exception):
@@
-73,6
+82,8
@@
class KeepReadError(KeepRequestError):
pass
class KeepWriteError(KeepRequestError):
pass
pass
class KeepWriteError(KeepRequestError):
pass
+class KeepCacheError(KeepRequestError):
+ pass
class NotFoundError(KeepReadError):
pass
class NotImplementedError(Exception):
class NotFoundError(KeepReadError):
pass
class NotImplementedError(Exception):