osx_defaults: Fix boolean value parsing
Values for boolean types were being unconditionally treated as strings
(by calling `.lower()`), thus breaking value parsing for actual boolean
and integer objects.
It looks like the bug was introduced in:
- 130bd670d8
Fixes #709.
This commit is contained in:
parent
e5982ba5e3
commit
4c4a58e77b
1 changed files with 4 additions and 2 deletions
|
@ -124,9 +124,11 @@ class OSXDefaults(object):
|
|||
if type == "string":
|
||||
return str(value)
|
||||
elif type in ["bool", "boolean"]:
|
||||
if value.lower() in [True, 1, "true", "1", "yes"]:
|
||||
if isinstance(value, basestring):
|
||||
value = value.lower()
|
||||
if value in [True, 1, "true", "1", "yes"]:
|
||||
return True
|
||||
elif value.lower() in [False, 0, "false", "0", "no"]:
|
||||
elif value in [False, 0, "false", "0", "no"]:
|
||||
return False
|
||||
raise OSXDefaultsException("Invalid boolean value: {0}".format(repr(value)))
|
||||
elif type == "date":
|
||||
|
|
Loading…
Reference in a new issue