dbus-python variants

Lukas Hetzenecker lukas.hetzenecker at gmail.com
Wed Apr 27 23:41:46 PDT 2011


Hello,

I want to transmit the following dict over dbus (using the dbus-python 
bindings):

{'name': 'test', 'id': 10} to a method with the signature a{sv}

But i get the following error: 
process 8413: Array or variant type requires that type string be written, but 
end_dict_entry was written. The overall signature expected here was 'a{ss}' 
and we are on byte 3 of that signature.

So it doesn't like the different datatype of my dictionary values, but I 
thought a "variant" can be of any type?

The dbus-python tutorial states that a variant is "a container which may hold 
any D-Bus type, including another variant".
So why does the automatic conversion to dbus types fail for the above 
dictionary?

Lukas


More information about the dbus mailing list