1class BetamaxError(Exception):
2    def __init__(self, message):
3        super(BetamaxError, self).__init__(message)
4
5
6class MissingDirectoryError(BetamaxError):
7    pass
8
9
10class ValidationError(BetamaxError):
11    pass
12
13
14class InvalidOption(ValidationError):
15    pass
16
17
18class BodyBytesValidationError(ValidationError):
19    pass
20
21
22class MatchersValidationError(ValidationError):
23    pass
24
25
26class RecordValidationError(ValidationError):
27    pass
28
29
30class RecordIntervalValidationError(ValidationError):
31    pass
32
33
34class PlaceholdersValidationError(ValidationError):
35    pass
36
37
38class PlaybackRepeatsValidationError(ValidationError):
39    pass
40
41
42class SerializerValidationError(ValidationError):
43    pass
44
45
46validation_error_map = {
47    'allow_playback_repeats': PlaybackRepeatsValidationError,
48    'match_requests_on': MatchersValidationError,
49    'record': RecordValidationError,
50    'placeholders': PlaceholdersValidationError,
51    'preserve_exact_body_bytes': BodyBytesValidationError,
52    're_record_interval': RecordIntervalValidationError,
53    'serialize': SerializerValidationError,  # TODO: Remove this
54    'serialize_with': SerializerValidationError
55}
56