Summary: | Can't use signature='' when calling methods | ||
---|---|---|---|
Product: | dbus | Reporter: | Will Thompson <will> |
Component: | python | Assignee: | 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 |
Created attachment 46834 [details] [review] proposed patch Review of attachment 46834 [details] [review]: Looks good! 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.
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.