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
|
""" DNS RCODE values
This module contains an Enum of RCODE values. See section 4.1.4 of RFC 1035 for
more info.
"""
class RCode(object):
""" Enum of RCODE values
Usage:
>>> NoError
0
>>> NXDomain
3
"""
NoError = 0
FormErr = 1
ServFail = 2
NXDomain = 3
NotImp = 4
Refused = 5
YXDomain = 6
YXRRSet = 7
NXRRSet = 8
NotAuth = 9
NotZone = 10
BADVERS = 16
BADSIG = 16
BADKEY = 17
BADTIME = 18
BADMODE = 19
BADNAME = 20
BADALG = 21
BADTRUNC = 22
by_string = {
"NoError": NoError,
"FormErr": FormErr,
"ServFail": ServFail,
"NXDomain": NXDomain,
"NotImp": NotImp,
"Refused": Refused,
"YXDomain": YXDomain,
"YXRRSet": YXRRSet,
"NXRRSet": NXRRSet,
"NotAuth": NotAuth,
"NotZone": NotZone,
"BADVERS": BADVERS,
"BADSIG": BADSIG,
"BADKEY": BADKEY,
"BADTIME": BADTIME,
"BADMODE": BADMODE,
"BADNAME": BADNAME,
"BADALG": BADALG,
"BADTRUNC": BADTRUNC
}
by_value = dict([(y, x) for x, y in by_string.items()])
@staticmethod
def to_string(rcode):
"""Convert a return code to a string"""
return RCode.by_value[rcode]
@staticmethod
def from_string(string):
"""Convert a string to a return code"""
return RCode.by_string[string]
|