-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy patherrors.py
352 lines (225 loc) · 8.62 KB
/
errors.py
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
# -*- coding: utf-8 -*-
# The lack of a module docstring for this module is **INTENTIONAL**.
# The module is imported into the documentation using Sphinx's autodoc
# extension, and its member class documentation is automatically incorporated
# there as needed.
class EmptyValueError(ValueError):
"""Exception raised when an empty value is detected, but the validator does
not allow for empty values.
.. note::
While in general, an "empty" value means a value that is falsey, for
certain specific validators "empty" means explicitly
:obj:`None <python:None>`.
Please see: :doc:`Validator Reference <validators>`.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NotNoneError(ValueError):
"""Exception raised when a value of :obj:`None <python:None>` is expected,
but a different empty value was detected.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class InvalidVariableNameError(ValueError):
"""Exception raised when a value is not a valid Python variable name.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NotADictError(ValueError):
"""Exception raised when a value is not a :class:`dict <python:dict>`.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NotJSONError(ValueError):
"""Exception raised when a value cannot be serialized/de-serialized to a JSON object.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NotJSONSchemaError(ValueError):
"""Exception raised when a schema supplied is not a valid JSON Schema.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class JSONValidationError(ValueError):
"""Exception raised when a value fails validation against a JSON Schema.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class InvalidEmailError(ValueError):
"""Exception raised when an email fails validation.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class InvalidURLError(ValueError):
"""Exception raised when a URL fails validation.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class InvalidDomainError(ValueError):
"""Exception raised when a domain fails validation.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class SlashInDomainError(InvalidDomainError):
"""Exception raised when a domain value contains a slash or backslash.
**INHERITS FROM:** :class:`ValueError <python:ValueError>` ->
:class:`InvalidDomainError`
"""
pass
class AtInDomainError(InvalidDomainError):
"""Exception raised when a domain value contains an ``@`` symbol.
**INHERITS FROM:** :class:`ValueError <python:ValueError>` ->
:class:`InvalidDomainError`
"""
pass
class ColonInDomainError(InvalidDomainError):
"""Exception raised when a domain value contains a colon (``:``).
**INHERITS FROM:** :class:`ValueError <python:ValueError>` ->
:class:`InvalidDomainError`
"""
pass
class WhitespaceInDomainError(InvalidDomainError):
"""Exception raised when a domain value contains whitespace.
**INHERITS FROM:** :class:`ValueError <python:ValueError>` ->
:class:`InvalidDomainError`
"""
pass
class InvalidIPAddressError(ValueError):
"""Exception raised when a value is not a valid IP address.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class InvalidMACAddressError(ValueError):
"""Exception raised when a value is not a valid MAC address.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class CannotCoerceError(TypeError):
"""Exception raised when a value cannot be coerced to an expected type.
**INHERITS FROM:** :class:`TypeError <python:TypeError>`
"""
pass
class NotAnIterableError(CannotCoerceError):
"""Exception raised when a value is not an iterable.
**INHERITS FROM:** :class:`TypeError <python:TypeError>` -> :class:`CannotCoerceError <validator_collection.errors.CannotCoerceError>`
"""
pass
class IterationFailedError(NotAnIterableError):
"""Exception raised when a value conforms to one of Python's supported
iterable protocols, but iterating across the object produced an unexpected
Exception.
**INHERITS FROM:** :class:`TypeError <python:TypeError>` -> :class:`CannotCoerceError <validator_collection.errors.CannotCoerceError>` -> :class:`NotAnIterableError <validator_collection.errors.NotAnIterableError>`
"""
pass
class MaximumLengthError(ValueError):
"""Exception raised when a value exceeds a maximum allowed length.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class MinimumLengthError(ValueError):
"""Exception raised when a value has a lower length than the minimum allowed.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class MaximumValueError(ValueError):
"""Exception raised when a value exceeds a maximum allowed value.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class MinimumValueError(ValueError):
"""Exception raised when a value has a lower or earlier value than the minimum
allowed.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NotAnIntegerError(ValueError):
"""Exception raised when a value is not being coerced and is not an integer type.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NegativeOffsetMismatchError(ValueError):
"""Exception raised when a negative offset is expected, but the value indicates
a positive offset.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class PositiveOffsetMismatchError(ValueError):
"""Exception raised when a positive offset is expected, but the value indicates
a negative offset.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class UTCOffsetError(ValueError):
"""Exception raised when the UTC offset exceeds +/- 24 hours.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class ValidatorUsageError(ValueError):
"""Exception raised when the validator was used incorrectly.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class CoercionFunctionEmptyError(ValidatorUsageError):
"""Exception raised when a coercion function was empty.
**INHERITS FROM:** :class:`ValueError <python:ValueError>` ->
:class:`ValidatorUsageError`
"""
pass
class CoercionFunctionError(ValueError):
"""Exception raised when a Coercion Function produces an
:class:`Exception <python:Exception>`.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NotCallableError(ValueError):
"""Exception raised when a given value is not callable.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NotBytesIOError(ValueError):
"""Exception raised when a given value is not a
:class:`BytesIO <python:io.BytesIO>` object.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NotStringIOError(ValueError):
"""Exception raised when a given value is not a
:class:`StringIO <python:io.StringIO>` object.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class NotPathlikeError(ValueError):
"""Exception raised when a given value is not a path-like object.
**INHERITS FROM:** :class:`ValueError <python:ValueError>`
"""
pass
class PathExistsError(IOError):
"""Exception raised when a path does not exist.
**INHERITS FROM:** :class:`IOError <python:IOError>`
"""
pass
class NotAFileError(IOError):
"""Exception raised when a path is not a file.
**INHERITS FROM:** :class:`IOError <python:IOError>`
"""
pass
class NotADirectoryError(IOError):
"""Exception raised when a path is not a directory.
**INHERITS FROM:** :class:`IOError <python:IOError>`
"""
pass
class NotReadableError(IOError):
"""Exception raised when a path is not readable.
**INHERITS FROM:** :class:`IOError <python:IOError>`
"""
pass
class NotWriteableError(IOError):
"""Exception raised when a path is not writeable.
**INHERITS FROM:** :class:`IOError <python:IOError>`
"""
pass
class NotExecutableError(IOError):
"""Exception raised when a path is not executable.
**INHERITS FROM:** :class:`IOError <python:IOError>`
"""
pass