1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 """Conversion functions for python objects to GUI strings and back."""
25
26
27 from math import pow
28 from numpy import ndarray
29
30
31 from lib.compat import u
32 from status import Status; status = Status()
33
34
36 """Convert the bool into the GUI string.
37
38 @param bool: The boolean value of True or False.
39 @type bool: bool
40 @return: The GUI string.
41 @rtype: unicode
42 """
43
44
45 return unicode(bool)
46
47
49 """Method to convert a string like '1.02*1e-10' to a float variable.
50
51 @param string: The number in string form.
52 @type string: str or unicode
53 @return: The floating point number.
54 @rtype: float
55 """
56
57
58 entries = string.split('*')
59
60
61 a = entries[0]
62 a = float(a)
63
64
65 b = entries[1]
66 b = float(b[2:len(b)])
67
68
69 result = a * pow(10, b)
70
71
72 return result
73
74
76 """Convert the float into the GUI string.
77
78 @param num: The number in float or None form.
79 @type num: float or None
80 @return: The GUI string.
81 @rtype: unicode
82 """
83
84
85 if num == None:
86 num = ''
87
88
89 return unicode(num)
90
91
93 """Convert the GUI obtained string to a bool.
94
95 @param string: The bool in string form.
96 @type string: str or unicode
97 @return: The bool.
98 @rtype: bool
99 """
100
101
102 if string in ['', u(''), None]:
103 return None
104
105
106 return eval(string)
107
108
110 """Convert the GUI obtained string to an float.
111
112 @param string: The number in string form.
113 @type string: str or unicode
114 @return: The float
115 @rtype: float or None
116 """
117
118
119 if string in ['', u(''), None]:
120 return None
121
122
123 if isinstance(string, float):
124 return string
125
126
127 val = eval(string)
128
129
130 if isinstance(val, int):
131 val = float(val)
132
133
134 if not isinstance(val, float):
135 return string
136
137
138 return val
139
140
142 """Convert the GUI obtained string to an int.
143
144 @param string: The number in string form.
145 @type string: str or unicode
146 @return: The integer
147 @rtype: int or None
148 """
149
150
151 if string in ['', u(''), None]:
152 return None
153
154
155 if isinstance(string, int):
156 return string
157
158
159 try:
160 val = eval(string)
161 except:
162 val = None
163
164
165 if not isinstance(val, int):
166 return string
167
168
169 return val
170
171
173 """Convert the GUI obtained string to a list.
174
175 @param string: The list in string form.
176 @type string: str or unicode
177 @return: The integer or list of integers.
178 @rtype: int or int list
179 """
180
181
182 if string in ['', u(''), None]:
183 return None
184
185
186 if isinstance(string, int) or isinstance(string, list):
187 return string
188
189
190 try:
191 val = eval(string)
192
193
194 except NameError:
195 return string
196
197
198
199 return val
200
201
203 """Convert the GUI obtained string to a list.
204
205 @param string: The list in string form.
206 @type string: str or unicode
207 @return: The list.
208 @rtype: list
209 """
210
211
212 if string in ['', u(''), None]:
213 return []
214
215
216 val = eval(string)
217 if not isinstance(val, list):
218 val = [val]
219
220
221 return val
222
223
225 """Super function for converting the GUI string to a Python object.
226
227 @param string: The Python object in string form.
228 @type string: str or unicode
229 @return: The value.
230 @rtype: python object
231 """
232
233
234 if string in ['', u(''), None]:
235 return None
236
237
238 try:
239 value = eval(string)
240
241
242 except:
243 value = str(string)
244
245
246 return value
247
248
250 """Convert the GUI obtained string to a string.
251
252 @param string: The number in string form.
253 @type string: str or unicode
254 @return: The string.
255 @rtype: str
256 """
257
258
259 if string in ['', u(''), None]:
260 return None
261
262
263 return str(string)
264
265
267 """Convert the GUI obtained string to a list.
268
269 @param string: The list in string form.
270 @type string: str or unicode
271 @return: The integer or list of integers.
272 @rtype: int or int list
273 """
274
275
276 if string in ['', u(''), None]:
277 return None
278
279
280 try:
281 val = eval(string)
282
283
284 except NameError:
285 return str(string)
286
287
288 return val
289
290
292 """Convert the GUI obtained string to a tuple.
293
294 @param string: The list in string form.
295 @type string: str or unicode
296 @return: The list.
297 @rtype: list
298 """
299
300
301 if string in ['', u(''), None]:
302 return ()
303
304
305 val = eval(string)
306 if isinstance(val, list):
307 val = tuple(val)
308 elif not isinstance(val, tuple):
309 val = (val,)
310
311
312 return val
313
314
316 """Convert the int into the GUI string.
317
318 @param num: The number in int or None form.
319 @type num: int or None
320 @return: The GUI string.
321 @rtype: unicode
322 """
323
324
325 if num == None:
326 num = ''
327
328
329 return unicode(num)
330
331
333 """Convert the list into the GUI string.
334
335 @param list: The Python list.
336 @type list: list or None
337 @return: The GUI string.
338 @rtype: unicode
339 """
340
341
342 if list == None:
343 list = ''
344
345
346 if isinstance(list, ndarray):
347 list = list.tolist()
348
349
350 return unicode(list)
351
352
354 """Do not convert the value.
355
356 @param value: A Python value.
357 @type value: float or int or str
358 @return: The unmodified value.
359 @rtype: float or int or str
360 """
361
362
363 return value
364
365
367 """Super function for converting a Python object to a GUI string.
368
369 @param value: The value.
370 @type value: anything
371 @return: The Python object in GUI string form.
372 @rtype: unicode
373 """
374
375
376 if value == None:
377 string = ''
378
379
380 else:
381 string = unicode(value)
382
383
384 return string
385
386
388 """Convert the string into the GUI string.
389
390 @param string: The string or None to convert.
391 @type string: str or None
392 @return: The GUI string.
393 @rtype: unicode
394 """
395
396
397 if string == None:
398 string = ''
399
400
401 return unicode(string)
402
403
405 """Convert the tuple into the GUI string.
406
407 @param tuple: The Python tuple.
408 @type tuple: tuple or None
409 @return: The GUI string.
410 @rtype: unicode
411 """
412
413
414 if tuple == None:
415 tuple = ''
416
417
418 return unicode(tuple)
419