| 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.