-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patherr.py
154 lines (112 loc) · 5.17 KB
/
err.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
"""
Class used for Error Methods
DO NOT USE IN ACTUAL SCRIPT
"""
class withConsole():
def range_error(rangeMin: float, rangeMax:float, parameter):
"""
Takes in a range Minimum and a range Maximum. Throws an Error if the given parameter exceeds either of theese boundaries.\n
If the maximum is None, it will be set to the int-limit(2147483647).
"""
if(rangeMax == None):
rangeMax = 2147483647
if(parameter > rangeMax or parameter < rangeMin):
raise ValueError("ERROR: Parameter <" + str(parameter) + "> has to be in range between '" + str(rangeMin) + "' and '" + str(rangeMax) + "'") from None
def type_error(requiredDataType, requiredDataTypeName:str, parameter):
"""
Checks if the given parameter can be translated / is from the given type. Data Type Name is for formatting purposes. If None, it will be '<class 'TYPE'>'.
"""
if(requiredDataType == None):
requiredDataType = str(requiredDataType)
try:
requiredDataType(parameter)
except:
raise TypeError("ERROR: Parameter <" + str(parameter) + "> has to be type '" + requiredDataTypeName + "'") from None
def argument_error(parameter, *validArguments):
"""
Checks if the given argument is contained in the validArguments.
"""
if(parameter in validArguments):
return None
else:
raise ValueError("ERROR: Parameter <" + str(parameter) + "> can only be " + str(validArguments)) from None
class relation():
def smaller_error(smaller_parameter, larger_parameter):
if(smaller_parameter < larger_parameter):
return None
else:
raise ValueError("ERROR: Parameter <" + str(smaller_parameter) + "> has to be smaller then <" + str(larger_parameter) + ">")
def smaller_equal_error(smaller_parameter, larger_parameter):
if(smaller_parameter <= larger_parameter):
return None
else:
raise ValueError("ERROR: Parameter <" + str(smaller_parameter) + "> has to be smaller or equal to/then <" + str(larger_parameter) + ">")
def larger_error(larger_parameter, smaller_parameter):
if(larger_parameter > smaller_parameter):
return None
else:
raise ValueError("ERROR: Parameter <" + str(larger_parameter) + "> has to be greater then <" + str(smaller_parameter) + ">")
def larger_equal_error(larger_parameter, smaller_parameter):
if(larger_parameter >= smaller_parameter):
return None
else:
raise ValueError("ERROR: Parameter <" + str(larger_parameter) + "> has to be greater or equal to/then <" + str(smaller_parameter) + ">")
def equal_error(parameter_1, parameter_2):
if(parameter_1 == parameter_2):
return None
else:
raise ValueError("ERROR: Parameter <" + str(parameter_1) + "> and Parameter <" + str(parameter_2) + "> have to be the same value")
class onlyCheck():
def range_error(rangeMin: float, rangeMax:float, parameter):
"""
Takes in a range Minimum and a range Maximum. Throws an Error if the given parameter exceeds either of theese boundaries.\n
If the maximum is None, it will be set to the int-limit(2147483647).
"""
if(rangeMax == None):
rangeMax = 2147483647
if(parameter > rangeMax or parameter < rangeMin):
return False
def type_error(requiredDataType, parameter):
"""
Checks if the given parameter can be translated / is from the given type. Data Type Name is for formatting purposes. If None, it will be '<class 'TYPE'>'.
"""
if(requiredDataType == None):
requiredDataType = str(requiredDataType)
try:
requiredDataType(parameter)
except:
return False
def argument_error(parameter, *validArguments):
"""
Checks if the given argument is contained in the validArguments.
"""
if(parameter in validArguments):
return None
else:
return False
class relation():
def smaller_error(smaller_parameter, larger_parameter):
if(smaller_parameter < larger_parameter):
return None
else:
return False
def smaller_equal_error(smaller_parameter, larger_parameter):
if(smaller_parameter <= larger_parameter):
return None
else:
return False
def larger_error(larger_parameter, smaller_parameter):
if(larger_parameter > smaller_parameter):
return None
else:
return False
def larger_equal_error(larger_parameter, smaller_parameter):
if(larger_parameter >= smaller_parameter):
return None
else:
return False
def equal_error(parameter_1, parameter_2):
if(parameter_1 == parameter_2):
return None
else:
return False