Fixed conversion of dbus types
authorMario Lueder <monsieur.mona@gmail.com>
Tue, 8 Jul 2014 09:50:34 +0000 (11:50 +0200)
committerMario Lueder <mario.lueder@neusoft.com>
Tue, 8 Jul 2014 09:50:34 +0000 (11:50 +0200)
cloudeebus/cloudeebus.py

index 159a6b5..406bc86 100755 (executable)
@@ -507,21 +507,19 @@ class CloudeebusService:
         if not matchDbus:
             return dbusString
 
+
         result = {
-           "Boolean" : lambda x : dbus.Boolean( self.patternDbusBoolean.match( x ).group( 1 )),
-           "Byte"    : lambda x : dbus.Byte(    self.patternDbusByte.match(    x ).group( 1 )),
-           "Int16"   : lambda x : dbus.Int16(   self.patternDbusInt16.match(   x ).group( 1 )),
-           "Int32"   : lambda x : dbus.Int32(   self.patternDbusInt32.match(   x ).group( 1 )),
-           "Int64"   : lambda x : dbus.Int64(   self.patternDbusInt6.match(    x ).group( 1 )),
-           "UInt16"  : lambda x : dbus.UInt16(  self.patternDbusUInt16.match(  x ).group( 1 )),
-           "UInt32"  : lambda x : dbus.UInt32(  self.patternDbusUInt32.match(  x ).group( 1 )),
-           "UInt64"  : lambda x : dbus.UInt64(  self.patternDbusUInt6.match(   x ).group( 1 )),
-           "Double"  : lambda x : dbus.Double(  self.patternDbusDouble.match(  x ).group( 1 ))
+           "Boolean" : lambda x : dbus.Boolean(   self.patternDbusBoolean.match( x ).group( 1 ).lower() in ("yes", "true", "t", "1")),
+           "Byte"    : lambda x : dbus.Byte( int( self.patternDbusByte.match(    x ).group( 1 ))),
+           "Int16"   : lambda x : dbus.Int16(     self.patternDbusInt16.match(   x ).group( 1 )),
+           "Int32"   : lambda x : dbus.Int32(     self.patternDbusInt32.match(   x ).group( 1 )),
+           "Int64"   : lambda x : dbus.Int64(     self.patternDbusInt64.match(    x ).group( 1 )),
+           "UInt16"  : lambda x : dbus.UInt16(    self.patternDbusUInt16.match(  x ).group( 1 )),
+           "UInt32"  : lambda x : dbus.UInt32(    self.patternDbusUInt32.match(  x ).group( 1 )),
+           "UInt64"  : lambda x : dbus.UInt64(    self.patternDbusUInt64.match(   x ).group( 1 )),
+           "Double"  : lambda x : dbus.Double(    self.patternDbusDouble.match(  x ).group( 1 ))
         }[matchDbus.group(1)](dbusString)
 
-        if not result:
-           return dbusString
-
         return result
 
     @exportRpc