GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Passed
Pull Request — v1 (#16)
by Maksim
03:39
created

Route4MeApiError.__init__()   B

Complexity

Conditions 1

Size

Total Lines 26

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
dl 0
loc 26
ccs 6
cts 6
cp 1
crap 1
rs 8.8571
c 0
b 0
f 0
1
# -*- coding: utf-8 -*-
2
3
4 1
class Route4MeError(Exception):
5
	"""
6
	Base (abstract) error-class
7
	"""
8 1
	def __init__(
9
		self,
10
		message,
11
		code='route4me.sdk.other',
12
		details=None,
13
		inner=None,
14
	):
15 1
		super(Route4MeError, self).__init__(message)
16
17
		#: Unique error code. Helps to distinguish different errors.
18
		#:
19
		#: :type: str
20 1
		self.code = code
21
22 1
		if details is not None:
23 1
			assert isinstance(details, dict)
24
25
		#: Some error details
26
		#:
27
		#: :type: dict
28 1
		self.details = details
29
30
		#: Internal exception that describes an original error.
31
		#:
32
		#: :type: Exception
33 1
		self.inner = inner
34
35 1
	def get_message(self):
36 1
		return super(Route4MeError, self).__str__()
37
38 1
	def __str__(self):
39
40 1
		s = '{tp}: [{code}] {message}'.format(
41
			tp=type(self).__name__,
42
			code=self.code,
43
			message=self.get_message(),
44
		)
45 1
		return s
46
47
48 1
class Route4MeNetworkError(Route4MeError):
49
	"""
50
	Route4Me SDK network/connection errors.
51
52
	Occurs on:
53
54
	- invalid SSL
55
	- network timeout
56
	- wrong redirects (Route4Me API doesn't send redirect responses)
57
	- no connection, no path to route (DNS)
58
59
	More details could be observed using :py:attr:`~.Route4MeError.code` and
60
	:py:attr:`~.Route4MeError.details`
61
	"""
62 1
	pass
63
64
65 1
class Route4MeApiError(Route4MeError):
66
	"""
67
	Error on Route4Me SDK
68
69
	.. todo::
70
		Make this exception more detailed
71
72
	"""
73 1
	def __init__(
74
		self,
75
		message,
76
		code='route4me.sdk.other',
77
		details=None,
78
		inner=None,
79
80
		method=None,
81
		url=None,
82
		status_code=None,
83
	):
84 1
		m = '[{status}] {message}'.format(
85
			status=status_code,
86
			message=message
87
		)
88
89 1
		super(Route4MeApiError, self).__init__(
90
			m,
91
			code,
92
			details,
93
			inner,
94
		)
95
96 1
		self.method = method
97 1
		self.url = url
98 1
		self.status_code = status_code
99
100
101 1
class Route4MeValidationError(Route4MeError):
102
	"""
103
	Route4Me Validation error.
104
105
	Variable has invalid format/data
106
	"""
107 1
	pass
108
109
110 1
class Route4MeEntityNotFoundError(Route4MeError):
111
	"""
112
	Requested entity was not found on Route4Me
113
	"""
114
	pass
115