diff --git a/src/core/constants.py b/src/core/constants.py index b00fbdc2..664d1099 100644 --- a/src/core/constants.py +++ b/src/core/constants.py @@ -202,7 +202,14 @@ class Const(object): @classmethod def bool(cls, value): - """retour str text value for bool, or bool value for str""" + """@return: bool value for any type""" + if isinstance(value, str) or isinstance(value, unicode): # dbus.String is unicode but not str + return value.lower() == cls.BOOL_TRUE + return bool(value) + + @classmethod + def str(cls, value): + """@return: str text value for any type""" if isinstance(value, bool): return cls.BOOL_TRUE if value else cls.BOOL_FALSE - return value.lower() == cls.BOOL_TRUE + return str(value)