blob: 394dea649fe8d2719825ed8bff5d2ee3f3f8afac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
"""Defines the bool param type"""
from param import Param
import re
class Bool(Param):
"""Defines the bool param type
Args:
value: the value of the bool (string or python bool)
classname: the name of the class to which the param belongs
"""
def __init__(self, value, classname=""):
super(Bool, self).__init__(classname=classname)
if value:
self.value = self._bool_correct(value)
else:
self.value = False
def _bool_correct(self, b):
if isinstance(b, str) or isinstance(b, unicode):
if re.match(r'true', b, re.IGNORECASE):
return True
elif re.match(r'false', b, re.IGNORECASE):
return False
elif isinstance(b, bool):
return b
self.err_warn("Not a bool: %s" % str(b))
|