Bug 36206

Summary: Can't use signature='' when calling methods
Product: dbus Reporter: Will Thompson <will>
Component: pythonAssignee: Simon McVittie <smcv>
Status: RESOLVED FIXED QA Contact: John (J5) Palmieri <johnp>
Severity: normal    
Priority: medium Keywords: patch
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 34895    
Attachments: Here's a tiny Python program demonstrating the issue
proposed patch

Description Will Thompson 2011-04-13 07:01:29 UTC
Created attachment 45577 [details]
Here's a tiny Python program demonstrating the issue

I'm experimenting with turning off introspection on a bunch of objects in the Telepathy-Gabble test suite (to speed it up).

Of course, this means that we'd have to specify explicit signatures in a bunch of places. While looking at how hard it would be to do this for some of the simpler interfaces, I noticed that you can't specify signature='' when making blocking method calls. Confusingly, the exception thrown is:

  TypeError: call_blocking() got multiple values for keyword argument 'signature'

even though I only specified signature='' once.

On the IRC, Simon says: “you'll have to use Connection.call_async (or call_blocking)”. I could also use dbus.Variant() and friends around all the arguments. But I feel like this should work.
Comment 1 Simon McVittie 2011-05-17 10:55:33 UTC
Created attachment 46834 [details] [review]
proposed patch
Comment 2 Will Thompson 2011-05-18 04:07:35 UTC
Review of attachment 46834 [details] [review]:

Looks good!
Comment 3 Simon McVittie 2011-05-18 04:29:41 UTC
Fixed in git for 0.84

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.