Я пытаюсь сделать вызов dbus, используя python3.4 и pyqt5.4, для демона, написанного на Java, подпись демона для метода, который я вызываю, asa{sv}
Звонок, который я делаю,
fpiudaemon = QDBusInterface("it.libersoft.FirmapiuDInterface", "/it/libersoft/FirmapiuD", interface='it.libersoft.FirmapiuDInterface' , parent=None)
result = fpiudaemon.call('sign',filepath,options)
Где
print (filepath) -> ['/home/svalo/programmi/devel/pythondeps']
print (options) -> {'pin': '12345678', 'outdir': '/home/svalo/programmi/devel/firmapiu-gui'}
print(type(filepath)) -> <class 'list'>
print(type(options)) -> <class 'dict'>
Однако, когда я отслеживаю dbus, я получаю
method call sender=:1.242 -> dest=it.libersoft.FirmapiuDInterface serial=67 path=/it/libersoft/FirmapiuD; interface=it.libersoft.FirmapiuDInterface; member=sign array [ variant string "/home/svalo/programmi/devel/firmapiu-gui/pythondeps" ] array [ dict entry( string "outdir" variant string "/home/svalo/programmi/devel/firmapiu-gui" ) dict entry( string "pin" variant string "12345678" ) ]
То, что я хотел бы получить, это
method call sender=:1.242 -> dest=it.libersoft.FirmapiuDInterface serial=67 path=/it/libersoft/FirmapiuD; interface=it.libersoft.FirmapiuDInterface; member=sign array [ string "/home/svalo/programmi/devel/libersoft/firmapiu-gui/pythondeps" ] array [ dict entry( string "outdir" variant string "/home/svalo/programmi/devel/libersoft/firmapiu-gui" ) dict entry( string "pin" variant string "12345678" ) ]
То есть я ожидаю, что python отправит массив строк, а вместо этого он отправит массив вариантов, содержащих строки.
Демон-разработчик написал простой клиент на java, и он работает с соблюдением подписи.
Что мне здесь не хватает?