diff options
Diffstat (limited to 'lib/param/bool_.py')
| -rw-r--r-- | lib/param/bool_.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/param/bool_.py b/lib/param/bool_.py new file mode 100644 index 0000000..e275115 --- /dev/null +++ b/lib/param/bool_.py @@ -0,0 +1,19 @@ +from param import Param +import re +import sys +class ParamBool(Param): + def __init__(self, value, classname=""): + super(ParamBool, self).__init__(classname=classname) + if value: + self.value = self._bool_correct(value) + else: + self.value = False + def _bool_correct(self, b): + if type(b) == str or type(b) == unicode: + if re.match(r'true', b, re.IGNORECASE): + return True + elif re.match(r'false', b, re.IGNORECASE): + return False + elif type(b) == bool: + return b + self.err_warn("Not a bool: %s" % str(b)) |
