Merge branch '3463-make-sharing-dialog-with-users-more-useful' closes #3463
[arvados.git] / sdk / python / arvados / errors.py
1 # errors.py - Arvados-specific exceptions.
2
3 import apiclient.errors
4 import json
5
6 class ApiError(apiclient.errors.HttpError):
7     def _get_reason(self):
8         try:
9             return '; '.join(json.loads(self.content)['errors'])
10         except (KeyError, TypeError, ValueError):
11             return super(ApiError, self)._get_reason()
12
13
14 class ArgumentError(Exception):
15     pass
16 class SyntaxError(Exception):
17     pass
18 class AssertionError(Exception):
19     pass
20 class NotFoundError(Exception):
21     pass
22 class CommandFailedError(Exception):
23     pass
24 class KeepWriteError(Exception):
25     pass
26 class NotImplementedError(Exception):
27     pass
28 class NoKeepServersError(Exception):
29     pass
30 class StaleWriterStateError(Exception):
31     pass