annotate src/breadcrumbs/src/ValidateData.py @ 0:2f4f6f08c8c4 draft

Uploaded
author george-weingart
date Tue, 13 May 2014 21:58:57 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
1 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
2 Author: Timothy Tickle
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
3 Description: Validate Data containing methods for testing variables.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
4 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
5
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
6 #####################################################################################
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
7 #Copyright (C) <2012>
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
8 #
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
9 #Permission is hereby granted, free of charge, to any person obtaining a copy of
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
10 #this software and associated documentation files (the "Software"), to deal in the
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
11 #Software without restriction, including without limitation the rights to use, copy,
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
12 #modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
13 #and to permit persons to whom the Software is furnished to do so, subject to
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
14 #the following conditions:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
15 #
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
16 #The above copyright notice and this permission notice shall be included in all copies
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
17 #or substantial portions of the Software.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
18 #
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
19 #THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
20 #INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
21 #PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
22 #HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
23 #OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
24 #SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
25 #####################################################################################
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
26
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
27 __author__ = "Timothy Tickle"
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
28 __copyright__ = "Copyright 2012"
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
29 __credits__ = ["Timothy Tickle"]
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
30 __license__ = "MIT"
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
31 __maintainer__ = "Timothy Tickle"
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
32 __email__ = "ttickle@sph.harvard.edu"
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
33 __status__ = "Development"
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
34
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
35 #Import local code
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
36 from types import *
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
37 import decimal
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
38 import os
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
39 import re
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
40 import string
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
41
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
42 class ValidateData:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
43
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
44 #Tested 5
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
45 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
46 def funcIsValidBoolean(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
47 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
48 Validates a parameter as a valid boolean.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
49
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
50 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
51 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
52 :return Boolean: True indicates the parameter is a valid boolean.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
53 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
54 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
55
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
56 #Check to make sure it is not null
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
57 if parameterValue == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
58 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
59
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
60 #Check to make sure it is a string
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
61 if not type(parameterValue) is BooleanType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
62 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
63 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
64
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
65 #Tested 6
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
66 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
67 def funcIsTrue(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
68 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
69 Validates a parameter as true.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
70
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
71 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
72 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
73 :return Boolean: True indicates the parameter is True.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
74 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
75 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
76
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
77 if(ValidateData.funcIsValidBoolean(parameterValue)):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
78 if(parameterValue == True):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
79 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
80 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
81
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
82 #Tested 6
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
83 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
84 def funcIsFalse(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
85 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
86 Validates a parameter as false.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
87
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
88 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
89 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
90 :return Boolean: True indicates the parameter is False.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
91 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
92 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
93
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
94 if(ValidateData.funcIsValidBoolean(parameterValue)):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
95 if(parameterValue == False):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
96 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
97 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
98
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
99 #Tested 5
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
100 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
101 def funcIsValidInteger(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
102 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
103 Validates a parameter as an integer.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
104
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
105 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
106 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
107 :return Boolean: True indicates the parameter is an integer.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
108 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
109 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
110
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
111 #Check to make sure it is not null
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
112 if (parameterValue == None):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
113 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
114
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
115 #Check to make sure it is an integer
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
116 if not type(parameterValue) is IntType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
117 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
118
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
119 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
120
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
121 #Tested 5
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
122 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
123 def funcIsValidPositiveInteger(parameterValue, tempZero = False):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
124 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
125 Validates a parameter as false.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
126
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
127 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
128 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
129 :param tempZero: Allows one to set what the value for zero should return.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
130 :type Boolean The return value for zero.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
131 :return Boolean: True indicates the parameter is a positive integer.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
132 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
133 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
134
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
135 #Check to make sure it is not null
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
136 if not ValidateData.funcIsValidInteger(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
137 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
138
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
139 #Check to see it is positive
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
140 if (parameterValue < 0):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
141 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
142
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
143 #Check for zero value
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
144 if(parameterValue == 0):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
145 return tempZero
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
146 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
147
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
148 #Tested 14
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
149 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
150 def funcIsValidNumeric(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
151 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
152 Validates a parameter as an integer.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
153
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
154 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
155 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
156 :return Boolean: True indicates the parameter is a numeric.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
157 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
158 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
159
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
160 #Check to make sure it is not null
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
161 if (parameterValue == None):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
162 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
163 #Check to make sure it is an integer
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
164 if((type(parameterValue) == IntType)or(type(parameterValue) == LongType)or(type(parameterValue) == FloatType)or(type(parameterValue) == ComplexType)or(str(type(parameterValue)) == "<type 'numpy.float64'>")):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
165 if(not type(parameterValue) == BooleanType):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
166 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
167 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
168
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
169 #Tested 5
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
170 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
171 def funcIsValidStringType(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
172 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
173 Validates a parameter as a string. This allows the string to be blank or empty.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
174
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
175 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
176 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
177 :return Boolean: True indicates the parameter is a string type.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
178 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
179 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
180
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
181 #Check to make sure it is not null
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
182 if parameterValue == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
183 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
184
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
185 #Check to make sure it is a string
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
186 if not type(parameterValue) is StringType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
187 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
188
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
189 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
190
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
191 #Tested 5
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
192 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
193 def funcIsValidString(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
194 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
195 Validates a parameter as a string. Does NOT allow string to be blank or empty.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
196
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
197 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
198 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
199 :return Boolean: True indicates the parameter is a string.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
200 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
201 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
202
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
203 #Type check
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
204 if not ValidateData.funcIsValidStringType(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
205 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
206
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
207 #Check to see it is not blank
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
208 if parameterValue.strip() == "":
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
209 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
210 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
211
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
212 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
213 def funcIsValidStringInt(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
214 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
215 Validates a parameter that is a string as a format which is an integer.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
216
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
217 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
218 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
219 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
220
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
221 #Type string check
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
222 if not ValidateData.funcIsValidStringType(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
223 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
224
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
225 #Check to see if the string can be converted to an integer
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
226 try:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
227 int(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
228 except:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
229 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
230 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
231
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
232 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
233 def funcIsValidStringFloat(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
234 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
235 Validates a parameter that is a string as a format which is a numeric.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
236
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
237 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
238 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
239 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
240
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
241 #Type string check
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
242 if not ValidateData.funcIsValidStringType(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
243 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
244
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
245 #Check to see if the string can be converted to a double
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
246 try:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
247 float(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
248 except:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
249 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
250 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
251
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
252 #Tested 6
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
253 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
254 def funcIsValidFormatString(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
255 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
256 Validates a parameter as a valid format string.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
257
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
258 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
259 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
260 :return Boolean: True indicates the parameter is a valid value.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
261 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
262 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
263
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
264 lettersValid = False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
265 if ValidateData.funcIsValidString(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
266 validChars = "BbcdfHhIiLlPpsx0123456789"
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
267 for letter in parameterValue:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
268 lettersValid = letter in validChars
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
269 if(not lettersValid):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
270 break
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
271 return lettersValid
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
272
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
273 #Tested 5
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
274 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
275 def funcIsValidChar(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
276 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
277 Validates a parameter as a valid character.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
278
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
279 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
280 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
281 :return Boolean: True indicates the parameter is a valid value.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
282 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
283 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
284
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
285 return ValidateData.funcIsValidString(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
286
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
287 #Tested 13
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
288 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
289 def funcIsValidPositiveNumberChar(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
290 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
291 Validates a parameter as a valid character representing a number.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
292
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
293 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
294 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
295 :return Boolean: True indicates the parameter is a valid value.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
296 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
297 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
298
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
299 #Check to make sure is a valid string
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
300 if not ValidateData.funcIsValidString(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
301 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
302
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
303 #Try to convert to decimal
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
304 try:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
305 decimalConversion = decimal.Decimal(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
306 if decimalConversion < 0:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
307 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
308 except:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
309 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
310 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
311
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
312 #Tested 9
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
313 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
314 def funcIsValidFlagChar(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
315 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
316 Validates a parameter as a valid character representing a boolean.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
317
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
318 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
319 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
320 :return Boolean: True indicates the parameter is a valid value.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
321 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
322 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
323
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
324 if parameterValue == '0' or parameterValue == "0" or parameterValue == '1' or parameterValue == "1":
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
325 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
326 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
327
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
328 #Tested 15
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
329 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
330 def funcIsValidBoundedIntegerChar(parameterValue, iValueOne, iValueTwo):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
331 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
332 Validates a parameter as a valid characater that represents an integer inclusively bounded by two given values.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
333
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
334 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
335 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
336 :param iValueOne: One bound for the value.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
337 :type Integer
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
338 :param iValueTwo: The other bound for the data.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
339 :type Integer
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
340 :return Boolean: True indicates the parameter is a valid value.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
341 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
342 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
343
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
344 #Check to make sure is a valid string
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
345 if not ValidateData.funcIsValidString(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
346 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
347
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
348 #Check to make sure is a valid integer
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
349 if not ValidateData.funcIsValidInteger(iValueOne):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
350 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
351
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
352 #Check to make sure is a valid integer
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
353 if not ValidateData.funcIsValidInteger(iValueTwo):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
354 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
355
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
356 #Try to convert to decimal
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
357 try:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
358 intConversion = int(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
359 if(iValueOne < iValueTwo):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
360 if ((intConversion >= iValueOne) and (intConversion <= iValueTwo)):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
361 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
362 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
363 if(iValueTwo < iValueOne):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
364 if ((intConversion >= iValueTwo) and (intConversion <= iValueOne)):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
365 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
366 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
367 if(iValueOne == iValueTwo):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
368 if (intConversion == iValueOne):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
369 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
370 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
371 except:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
372 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
373
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
374 #Tested 9
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
375 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
376 def funcIsValidList(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
377 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
378 Validates a parameter as a list.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
379
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
380 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
381 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
382 :return Boolean: True indicates the parameter is a list
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
383 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
384 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
385
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
386 #Check to make sure it is not null
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
387 if parameterValue == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
388 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
389
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
390 #Check to make sure it is a list
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
391 if not type(parameterValue) is ListType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
392 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
393
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
394 #Check elements
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
395 listSize = len(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
396 for i in range(0,listSize):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
397 if parameterValue[i] == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
398 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
399 if type(parameterValue[i]) is ListType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
400 if ValidateData.funcIsValidList(parameterValue[i]) == False:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
401 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
402 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
403
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
404 #Tested 9
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
405 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
406 def funcIsValidTuple(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
407 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
408 Validates a parameter as a tuple.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
409
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
410 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
411 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
412 :return Boolean: True indicates the parameter is a tuple
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
413 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
414 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
415
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
416 #Check to make sure it is not null
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
417 if parameterValue == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
418 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
419
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
420 #Check to make sure it is a string
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
421 if not type(parameterValue) is TupleType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
422 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
423
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
424 #Check elements
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
425 tupleSize = len(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
426 for i in range(0,tupleSize):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
427 if parameterValue[i] == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
428 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
429 if type(parameterValue[i]) is TupleType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
430 if ValidateData.funcIsValidTuple(parameterValue[i]) == False:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
431 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
432 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
433
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
434 #Tested 7
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
435 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
436 def funcIsValidNumericList(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
437 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
438 Validates a parameter as a list of numeric values.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
439
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
440 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
441 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
442 :return Boolean: True indicates the parameter is a list of numeric values.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
443 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
444 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
445
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
446 #Check is valid list
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
447 if(not ValidateData.funcIsValidList(parameterValue)):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
448 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
449
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
450 #Check elements
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
451 listSize = len(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
452 for i in xrange(0,listSize):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
453 if(not ValidateData.funcIsValidNumeric(parameterValue[i])):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
454 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
455 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
456
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
457 #Tested 7
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
458 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
459 def funcIsValidStringList(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
460 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
461 Validates a parameter as a list of string values.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
462
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
463 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
464 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
465 :return Boolean: True indicates the parameter is a list of string values.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
466 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
467 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
468
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
469 #Check is valid list
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
470 if(not ValidateData.funcIsValidList(parameterValue)):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
471 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
472
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
473 #Check elements
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
474 listSize = len(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
475 for i in xrange(0,listSize):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
476 if(not ValidateData.funcIsValidString(parameterValue[i])):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
477 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
478 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
479
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
480 #Tested 4
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
481 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
482 def funcIsValidNPArray(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
483 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
484 Validates a parameter as a numpy array.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
485
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
486 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
487 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
488 :return Boolean: True indicates the parameter is a numpy array.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
489 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
490 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
491
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
492 #Check to make sure it is not null
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
493 if parameterValue == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
494 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
495
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
496 #Check to make sure it is a structure array
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
497 if not str(type(parameterValue)) == "<type 'numpy.ndarray'>":
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
498 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
499
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
500 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
501
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
502 #Tested 9
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
503 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
504 def funcIsValidDictionary(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
505 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
506 Validates a parameter as a dictionary.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
507
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
508 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
509 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
510 :return Boolean: True indicates the parameter is a dictionary.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
511 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
512 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
513
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
514 #Check to make sure it is not null
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
515 if parameterValue == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
516 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
517
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
518 #Check to make sure it is a string
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
519 if not type(parameterValue) is DictType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
520 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
521
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
522 #Check key elements
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
523 keyList = parameterValue.keys()
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
524 keyListSize = len(keyList)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
525 for i in range(0,keyListSize):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
526 if keyList[i] == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
527 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
528 if type(keyList[i]) is ListType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
529 if validateData.funcIsValidList(keyList[i]) == False:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
530 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
531
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
532 #Check key elements
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
533 itemList = parameterValue.values()
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
534 itemListSize = len(itemList)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
535
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
536 for i in range(0,itemListSize):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
537 if itemList[i] == None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
538 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
539 if type(itemList[i]) is ListType:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
540 if ValidateData.funcIsValidList(itemList[i]) == False:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
541 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
542 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
543
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
544 #Tested 18
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
545 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
546 def funcIsValidDNASequence(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
547 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
548 Validates a parameter as a valid DNA sequence.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
549
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
550 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
551 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
552 :return Boolean: True indicates the parameter is a valid value.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
553 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
554 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
555
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
556 if ValidateData.funcIsValidString(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
557 expression = re.compile(r'[^atcgATCG]')
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
558 if not None == expression.search(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
559 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
560 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
561 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
562
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
563 #Tested 15
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
564 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
565 def funcIsValidNucleotideBase(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
566 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
567 Validates a parameter as a character which is a valid nucleotide representation.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
568
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
569 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
570 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
571 :return Boolean: True indicates the parameter is a valid value.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
572 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
573 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
574
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
575 if (ValidateData.funcIsValidDNASequence(parameterValue) or (parameterValue == 'u') or (parameterValue == "U")):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
576 if (len(parameterValue) == 1):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
577 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
578 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
579
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
580 #Testing 4
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
581 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
582 def funcIsValidFileName(parameterValue):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
583 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
584 Validates a parameter as a valid file name.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
585
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
586 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
587 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
588 :return Boolean: True indicates the parameter is a valid file path.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
589 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
590 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
591
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
592 if parameterValue is None:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
593 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
594 elif(ValidateData.funcIsValidString(parameterValue)):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
595 return os.path.exists(parameterValue)
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
596 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
597
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
598 #Tested 5
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
599 @staticmethod
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
600 def funcIsValidClass(parameterValue, strCorrectName):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
601 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
602 Validates a parameter as a valid class (of a specifc type given by name).
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
603
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
604 :param parameterValue: Value to be evaluated.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
605 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
606 :param strCorrectName: Name of te class the parameter should be.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
607 :type Unknown
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
608 :return Boolean: True indicates the parameter is a valid value.
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
609 :type Boolean
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
610 """
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
611
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
612 if(parameterValue==None):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
613 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
614 if not ValidateData.funcIsValidString(strCorrectName):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
615 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
616 classType = type(parameterValue).__name__
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
617 if(classType == strCorrectName):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
618 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
619 if(classType == 'instance'):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
620 if(parameterValue.__class__.__name__==strCorrectName):
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
621 return True
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
622 else:
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
623 return False
2f4f6f08c8c4 Uploaded
george-weingart
parents:
diff changeset
624 return False