forked from core-api/python-client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexceptions.py
More file actions
43 lines (32 loc) · 1.06 KB
/
exceptions.py
File metadata and controls
43 lines (32 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# coding: utf-8
from __future__ import unicode_literals
from coreapi.compat import string_types
class ParseError(Exception):
"""
Raised when an invalid Core API encoding is encountered.
"""
pass
class NotAcceptable(Exception):
"""
Raised when the client 'Accept' header could not be satisfied.
"""
pass
class TransportError(Exception):
"""
Raised when the transport layer fails to make a request or get a response.
"""
pass
class ErrorMessage(Exception):
"""
Raised when the transition returns an error message.
"""
def __init__(self, messages):
if not isinstance(messages, (list, tuple)):
raise TypeError("'messages' should be a list of strings.")
if any([not isinstance(message, string_types) for message in messages]):
raise TypeError("'messages' should be a list of strings.")
self.messages = tuple(messages)
def __repr__(self):
return 'ErrorMessage(%s)' % repr(list(self.messages))
def __str__(self):
return repr(list(self.messages))