Dictionary argument in Python server method

hkxyz e11years at gmail.com
Wed Sep 16 13:15:15 PDT 2009


I'm trying to accept a dictionary as an argument to a method as follows,
however the method fails to be visible. This is with Ubuntu jaunty amd64

@dbus.service.method("com.example.poxy", in_signature='a{ss}',
    def test( self,  request ): 

Running qdbus shows that the method is 'introspectable', but calling it
fails with "Cannot find '.test' in object /top at com.service.example".

This works with other arguments that are not dictionaries. 

Is this a bug?

xxx at host64:/$ qdbus com.service.example /top Introspect
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection
<node name="/top">
  <interface name="org.freedesktop.DBus.Introspectable">
    <method name="Introspect">
      <arg direction="out" type="s" />
  <interface name="com.service.poxy">
    <method name="test">
      <arg direction="in"  type="a{ss}" name="request" />
      <arg direction="out" type="i" />

View this message in context: http://www.nabble.com/Dictionary-argument-in-Python-server-method-tp25479722p25479722.html
Sent from the Free Desktop - dbus mailing list archive at Nabble.com.

More information about the dbus mailing list