diff options
author | Tomás Touceda <chiiph@leap.se> | 2013-03-21 10:47:37 -0300 |
---|---|---|
committer | kali <kali@leap.se> | 2013-03-21 23:01:51 +0900 |
commit | 344abd42c6b480a783ee05b6e92532a1113a86d2 (patch) | |
tree | c449846eec2c6bed61ebc1e24dd3c1ae180fe923 | |
parent | bdc3e1b840c383f0d9236ad8d4df66633e87baf5 (diff) |
Wrap bool setting casting in a method
-rw-r--r-- | src/leap/config/leapsettings.py | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/leap/config/leapsettings.py b/src/leap/config/leapsettings.py index b728ce15..35c9fef6 100644 --- a/src/leap/config/leapsettings.py +++ b/src/leap/config/leapsettings.py @@ -29,6 +29,28 @@ from leap.config.prefixers import get_platform_prefixer logger = logging.getLogger(__name__) +def to_bool(val): + """ + Returns the boolean value corresponding to val. Will return False + in case val is not a string or something that behaves like one. + + @param val: value to cast + @type val: either bool already or str + + @rtype: bool + """ + if isinstance(val, bool): + return val + + bool_val = False + try: + bool_val = val.lower() == "true" + except: + pass + + return bool_val + + class LeapSettings(object): """ Leap client QSettings wrapper @@ -153,7 +175,7 @@ class LeapSettings(object): @rtype: bool """ - return self._settings.value(self.AUTOLOGIN_KEY, "false") != "false" + return to_bool(self._settings.value(self.AUTOLOGIN_KEY, False)) def set_autologin(self, autologin): """ @@ -173,8 +195,7 @@ class LeapSettings(object): @rtype: bool """ - return self._settings.value(self.PROPERPROVIDER_KEY, - "false") != "false" + return to_bool(self._settings.value(self.PROPERPROVIDER_KEY, False)) def set_properprovider(self, properprovider): """ |