Bug 36206 - Can't use signature='' when calling methods
Summary: Can't use signature='' when calling methods
Status: RESOLVED FIXED
Alias: None
Product: dbus
Classification: Unclassified
Component: python (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Simon McVittie
QA Contact: John (J5) Palmieri
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks: 34895
  Show dependency treegraph
 
Reported: 2011-04-13 07:01 UTC by Will Thompson
Modified: 2011-05-18 04:29 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Here's a tiny Python program demonstrating the issue (713 bytes, text/plain)
2011-04-13 07:01 UTC, Will Thompson
Details
proposed patch (3.79 KB, patch)
2011-05-17 10:55 UTC, Simon McVittie
Details | Splinter Review

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.