dbus-python 0.81.0 released
Simon McVittie
simon.mcvittie at collabora.co.uk
Wed May 9 02:43:29 PDT 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
D-Bus Python Bindings 0.81.0, the 'series of tubes' release
http://dbus.freedesktop.org/releases/dbus-python/dbus-python-0.81.0.tar.gz
http://dbus.freedesktop.org/releases/dbus-python/dbus-python-0.81.0.tar.gz.asc
This is a feature release with support for non-bus-daemon connections
and improved GObject integration.
Features:
* Bus has a superclass dbus.bus.BusConnection (a connection to a bus daemon,
but without the shared-connection semantics or any deprecated API)
for the benefit of those wanting to subclass bus daemon connections
* BusConnection has a superclass dbus.connection.Connection (a
connection without a bus daemon) for use in peer-to-peer situations,
or distributed pseudo-bus situations without a bus daemon such as
Telepathy's Tubes API
* dbus.gobject_service.ExportedGObject is like dbus.service.Object, but
is also a subclass of GObject (with the necessary metaclass magic to
make this work). Until someone has verified that the GObject side of
things works as expected too, I consider this API to be potentially
subject to change!
* Connection and BusConnection have gained a number of useful methods,
including watch_name_owner (track name owner changes asynchronously,
avoiding race conditions), call_blocking and call_async (blocking and
asynchronous method calls without going via a proxy - note that these
are semi-low-level interfaces which don't do introspection), and
list_names, list_activatable_names and get_name_owner which are
simple wrappers for the corresponding org.freedesktop.DBus methods
* dbus.Interface (now also available at dbus.proxies.Interface)
and dbus.proxies.ProxyObject now have some reasonably obvious properties.
Deprecations:
* All keyword arguments called named_service are deprecated in favour of an
argument called bus_name (to be compatible with both older and newer
dbus-python, you should pass these positional arguments).
* The bus keyword argument to dbus.proxies.ProxyObject is deprecated in
favour of an argument called conn, because proxies will work on non-bus
connections now (again, for maximum compatibility you should use a
positional argument for this).
* No warning is raised for this, but I consider calling any remote method
on a ProxyObject or Interface whose name is either alllowercase or
lower_case_with_underscores to be deprecated, and reserve the right
to add properties or methods of this form in future releases - use
ProxyObject.get_dbus_method if you must call a remote method named in
this way. Methods named following TheUsualDBusConvention or
theJavaConvention are safe.
Bugfixes:
* Exceptions in signal handlers print a stack trace to stderr (this can
be redirected elsewhere with Python's logging framework). Partially
addresses fd.o #9980.
* The reserved local interface and object path are properly checked for.
* When you return a tuple that is not a Struct from a method with no
out_signature, it's interpreted as multiple return values, not a
single Struct (closes fd.o #10174).
* If send_with_reply() returns TRUE but with pending call NULL, dbus-python
no longer crashes. This can happen when unexpectedly disconnected.
* Arguments are not examined for functions declared METH_NOARGS (this is
unnecessary and can cause a crash).
Other notable changes:
* dbus-python uses the standard Python logging framework throughout.
The first time a WARNING or ERROR is generated, it will configure the
logging framework to output to stderr, unless you have already
configured logging in your application.
* The tutorial now advocates the use of add_signal_receiver if all you
want to do is listen for signals: this avoids undesired activation,
e.g. of Listen or Rhythmbox (!). Addresses fd.o #10743, fd.o #10568.
The full git log follows. If you've been testing the 20070504 release
candidate I posted to the list, the only code change since then is that
ExportedGObject can have GObject construction properties (there have also been
build-system changes).
Regards,
- --
Simon McVittie, Collabora Ltd.: http://www.collabora.co.uk/
commit 523e63fcef2c3391e94ded7959abdba739a52354
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed May 9 10:13:02 2007 +0100
Update NEWS for 0.81.0
NEWS | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 85 insertions(+), 0 deletions(-)
commit fac67418d9bc51b75f39b108c3e5f0bd9d7e6a98
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed May 9 10:03:06 2007 +0100
Increment version to 0.81.0
configure.ac | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit 756d092e3bb346dbf791af32f31c0efe520573d1
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed May 9 10:02:33 2007 +0100
Don't run the examples during "make check" - timing/startup issues cause intermittent failures
test/run-test.sh | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
commit 32c4636888e03025b5f01167cea6530a8fb1ce53
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed May 9 09:56:51 2007 +0100
Generate ChangeLog during make dist rather than during make.
Commit a dummy ChangeLog so the autotools won't fail in git checkouts.
.gitignore | 1 -
ChangeLog | 2 ++
Makefile.am | 9 +++++----
3 files changed, 7 insertions(+), 5 deletions(-)
commit 46d28550bbe03ccf9853f072743d879ae7d621ff
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon May 7 15:53:59 2007 +0100
dbus/gobject_service.py: Make ExportedGObject __init__ accept GObject properties
dbus/gobject_service.py | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
commit 863cec2464edd80fcf7fbdf62cf1c89ecab647d0
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri May 4 19:51:50 2007 +0100
Create doc directory before writing HTML into it
Makefile.am | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit 727fa4079d91f8dd1b301e21d3e4279c202a9739
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri May 4 19:44:18 2007 +0100
doc/tutorial.txt: Don't claim we have a tutorial for p2p connections yet
doc/tutorial.txt | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
commit 3033d92876dc094d5f86404bdf997af9b3bb3a82
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri May 4 19:43:14 2007 +0100
Update tutorial to describe add_signal_receiver before connect_to_signal.
Also remove old ./configure substitutions and update to avoid deprecated API.
doc/tutorial.txt | 100 ++++++++++++++++++++++++++++++------------------------
1 files changed, 56 insertions(+), 44 deletions(-)
commit f1d118f3d8c7dee8f5611cba2786a77e3b3cdaf1
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri May 4 19:41:59 2007 +0100
Stop tutorial.txt being generated by ./configure - not worthwhile just for a version number
.gitignore | 1 -
configure.ac | 1 -
doc/tutorial.txt | 667 +++++++++++++++++++++++++++++++++++++++++++++++++++
doc/tutorial.txt.in | 667 ---------------------------------------------------
4 files changed, 667 insertions(+), 669 deletions(-)
commit 0432c5256bad3fbdf10240b7ef76cea181c9f8b7
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri May 4 19:39:54 2007 +0100
dbus/service.py: Before emitting an error, configure logging to write to stderr, unless already configured
dbus/service.py | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
commit 24bee8cea054fa21d3229c97d75b2c08f273d9d9
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri May 4 19:39:16 2007 +0100
Remove contents of TODO: the peer-to-peer Connection now exists and the string change has been rejected
TODO | 8 --------
1 files changed, 0 insertions(+), 8 deletions(-)
commit ed2ace3161337789924e03f559603dccfa40c56e
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri May 4 17:09:57 2007 +0100
dbus/service.py: Don't use deprecated get_connection() in Object constructor.
The Connection and BusConnection base classes don't have it, and we can now
export Objects on a plain Connection.
dbus/service.py | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
commit 774e133d2cdc1a0fda2bd14d2354a9da2deece88
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Thu May 3 13:20:59 2007 +0100
Deprecate all arguments called named_service; use bus_name instead
dbus/bus.py | 49 ++++++++++++++++++++++++++++++--------
dbus/connection.py | 61 ++++++++++++++++++++++++++++++++++++++++--------
dbus/proxies.py | 66 +++++++++++++++++++++++++++++++++++++--------------
3 files changed, 137 insertions(+), 39 deletions(-)
commit 040adaef5646823dfb9247247104cb678cecacad
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Thu May 3 13:19:12 2007 +0100
examples/list-system-services.py: Make more exemplary
examples/list-system-services.py | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
commit e6d5bb0209c9cba4d42f12a448bd708a2cabaa9f
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Thu May 3 12:11:31 2007 +0100
dbus/gobject_service.py: Make ExportedGObject work correctly.
Also add a simple unit test for it.
dbus/Makefile.am | 1 +
dbus/gobject_service.py | 13 +++++++++++--
test/test-client.py | 10 ++++++++++
test/test-service.py | 11 +++++++++++
4 files changed, 33 insertions(+), 2 deletions(-)
commit 717837a91498f9f928a0affbfa39d8cd68de5ca1
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue May 1 13:26:51 2007 +0100
Simplify dbus_bindings backwards compatibility glue
dbus/_dbus.py | 26 ++++----------------------
dbus/dbus_bindings.py | 13 ++++++++++++-
dbus_bindings.py | 4 ----
3 files changed, 16 insertions(+), 27 deletions(-)
commit 77566373b89e721e468f411507821ee8a5273fff
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue May 1 12:18:50 2007 +0100
dbus/bus.py: Add watch_name_owner().
Use it to avoid a race in signal name matching.
Also change SignalMatch API from sender_unique being a public attribute to
having a method set_sender_name_owner(), and make it hashable so we can
use it to look up associated signal-sender matches in a dict.
dbus/bus.py | 94 +++++++++++++++++++++++++++++++--------------------
dbus/connection.py | 54 +++++++++++++++++++----------
2 files changed, 92 insertions(+), 56 deletions(-)
commit 77f19ef18864f3468b7373bd75461aad3239fe52
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 13:38:50 2007 +0100
test/test-p2p.py: Added. Test "peer-to-peer" connections.
(Actually tested by connecting to the bus daemon, because I haven't implemented
a Python binding for DBusServer yet.)
test/Makefile.am | 1 +
test/run-test.sh | 3 ++
test/test-p2p.py | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 95 insertions(+), 0 deletions(-)
commit a5905b31f82b898eaa3f80a907ea636e1e3d71eb
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 13:33:11 2007 +0100
dbus/connection.py: comments
dbus/connection.py | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
commit c38536726dfced572da01604909888f1f78a0492
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 13:32:52 2007 +0100
dbus/bus.py: correct name of logger
dbus/bus.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit e96509a88425c0f48c203fbfff100cde901adc7c
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 13:15:28 2007 +0100
Move signal matching machinery into superclasses
dbus/_dbus.py | 412 +---------------------------------------------------
dbus/bus.py | 90 +++++++++++-
dbus/connection.py | 387 +++++++++++++++++++++++++++++++++++++++++++++++--
3 files changed, 464 insertions(+), 425 deletions(-)
commit 494191632d27aa60c6f7c8fbcb1b595f8ff0253e
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 12:55:21 2007 +0100
tools/check-coding-style.mk: Work correctly with out-of-tree builds
tools/check-coding-style.mk | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
commit 060ffcc1d3f3296c679b4e91c1ed070b2e0205f9
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 12:36:37 2007 +0100
Move get_object, constants into Connection and BusConnection. Add docstrings
dbus/_dbus.py | 64 +++++----------------------------------------------
dbus/bus.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++--
dbus/connection.py | 30 ++++++++++++++++++++++++
3 files changed, 94 insertions(+), 60 deletions(-)
commit dff13840b106cf08a8227379e9bb82e654442e1d
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:56:42 2007 +0100
Convert _BusDaemonMixin and _MethodCallMixin into base classes BusConnection and Connection.
Also add method activate_name_owner() for proxies to use (so they don't need
to be aware of whether the connection is a bus daemon or not), and stop using
deprecated get_connection method.
dbus/_dbus.py | 8 +++-----
dbus/bus.py | 22 +++++++++++++++++++---
dbus/connection.py | 23 +++++++++++++++++------
dbus/proxies.py | 21 +++------------------
4 files changed, 42 insertions(+), 32 deletions(-)
commit 338b87fcc4010fe92b3f16ebbbf5955eab825dd7
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:43:26 2007 +0100
dbus/service.py: Use public API for dbus.SessionBus, since we cause an import anyway
dbus/service.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 2eb946f58e132706683890a8b961423e16998efe
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:41:44 2007 +0100
dbus/_dbus.py: in SignalMatch, use get_name_owner()
dbus/_dbus.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 26cccef4d8e049613b4b815bf9b9bd5ac86dc087
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:39:57 2007 +0100
dbus/_bus_mixin.py: Add bindings for ListNames, ListActivatableNames, GetNameOwner too
dbus/bus.py | 29 +++++++++++++++++++++++++++++
test/test-client.py | 24 ++++++++++++++++++++++--
2 files changed, 51 insertions(+), 2 deletions(-)
commit f75c1a0c7f7f4365f1265c6ede0c9465e50466ff
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:38:32 2007 +0100
dbus/_dbus.py: import constants from _dbus_bindings; use "from...import"
dbus/_dbus.py | 58 +++++++++++++++++++++++++++++++-------------------------
1 files changed, 32 insertions(+), 26 deletions(-)
commit 1d4594e2463e00def64dd10a71101a4a45e63553
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:35:54 2007 +0100
dbus/connection.py: Import constants from _dbus_bindings; check for reserved local interface as well as path
dbus/connection.py | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
commit 02d302ce90b136991de60015285ff7a39ff54375
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:34:33 2007 +0100
dbus/bus.py: get BUS_DAEMON_NAME etc. from _dbus_bindings
dbus/bus.py | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
commit 84beab96c9b9a1270e82e670aa3dca3f208b728f
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:33:31 2007 +0100
dbus/proxies.py: get INTROSPECTABLE_IFACE from _dbus_bindings
dbus/proxies.py | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
commit 3c62924718ff00839843cecaae09598e36199f79
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:31:22 2007 +0100
Move the client method-call machinery from dbus.proxies to dbus.connection._MethodCallMixin.
This makes proxy methods much simpler, and allows the _BusDaemonMixin to bypass
the proxies module completely (since the signatures are already known, so
we don't need to introspect anything).
dbus/Makefile.am | 1 +
dbus/_dbus.py | 7 +-
dbus/bus.py | 76 ++++++++++--------------
dbus/connection.py | 139 ++++++++++++++++++++++++++++++++++++++++++++
dbus/proxies.py | 161 +++++++++++++++++++++-------------------------------
5 files changed, 241 insertions(+), 143 deletions(-)
commit e40ec8e4f29d104b66d78b183300e6bf134c2714
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:23:58 2007 +0100
Remove BusImplementation, removing its remaining functionality to Connection.
* Move get_unique_name to Connection (it can be useful for connections which
aren't to a real bus daemon but partially emulate one, like Telepathy's
Tubes)
* Add set_unique_name to Connection (same reason)
* Convert BusImplementation.__new__ into Connection._new_for_bus
* Have dbus.Bus subclass _dbus_bindings.Connection directly
_dbus_bindings/bus.c | 134 ++++++++++++---------------------------
_dbus_bindings/conn-internal.h | 5 ++
_dbus_bindings/conn-methods.c | 30 +++++++++
_dbus_bindings/module.c | 2 -
dbus/_dbus.py | 8 +--
5 files changed, 79 insertions(+), 100 deletions(-)
commit 6963fa9cfa5be7af19b93c71d8a26c149cf2c88c
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 30 11:20:53 2007 +0100
Implement o.fd.DBus method wrappers in Python instead of C.
This reduces the need to have _dbus_bindings.BusImplementation and makes
peer-to-peer connections easier to implement.
_dbus_bindings/bus.c | 235 --------------------------------------------------
dbus/Makefile.am | 3 +-
dbus/_dbus.py | 4 +-
dbus/bus.py | 191 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 196 insertions(+), 237 deletions(-)
commit 478e03e211990d05725bfec5c44a1a1bf68eaf19
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Apr 27 12:44:45 2007 +0100
dbus/proxies.py: Give Interface some properties. Vastly simplify __getattr__ on Interface and ProxyObject
dbus/proxies.py | 55 +++++++++++++++++++++++++++++--------------------------
1 files changed, 29 insertions(+), 26 deletions(-)
commit f6fd7b7102ac5cfd961f4e53532eb7904f877a6e
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Apr 27 12:22:54 2007 +0100
Move Interface from dbus._dbus to dbus.proxies (it belongs there really).
Make it a new-style object and document it more clearly.
dbus/__init__.py | 5 ++-
dbus/_dbus.py | 134 +-----------------------------------------------------
dbus/proxies.py | 72 +++++++++++++++++++++++++++++
3 files changed, 77 insertions(+), 134 deletions(-)
commit fe50b35f867caed213d30cf0e046f51aeb275b20
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Apr 27 12:12:54 2007 +0100
Remove redundant constants
dbus/_dbus.py | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
commit a6a86fbfc299cdc61c6d013a0081c2eec878f99a
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Apr 27 12:11:28 2007 +0100
dbus/_dbus.py: Match NameOwnerChanged correctly
dbus/_dbus.py | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
commit 6457e018adf4bf87a1bb4791ba5a08ad6ac6ba51
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Thu Apr 26 15:53:06 2007 +0100
test/test-service.py: Use constants for the bus name and object path
test/test-service.py | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
commit db310619c1bd0496259cd251e6df0c83af73f3d1
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed Apr 25 18:33:55 2007 +0100
dbus/__init__.py: Add well-known interface, path, bus-name constants
dbus/__init__.py | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
commit 4be15d3a5d949107c7cf51a87a02f8555791868e
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed Apr 25 18:30:52 2007 +0100
dbus/__init__.py: Remove pseudo-tutorial from docstring, we have a tutorial now
dbus/__init__.py | 111 ------------------------------------------------------
1 files changed, 0 insertions(+), 111 deletions(-)
commit 4a027b3240152f7b9d5eabb66c2c1a94bd5ef831
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed Apr 25 18:29:48 2007 +0100
_dbus_bindings/module.c: Add some useful constants
_dbus_bindings/module.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
commit b6e2f84963ea0b399d50bbfeab7df046f6f24f5b
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed Apr 25 17:46:54 2007 +0100
Make ProxyObject a new-style class, since it now has properties
dbus/proxies.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 26965c2bf04ffb3b101623bbe02c34f43bee9232
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed Apr 25 14:07:49 2007 +0100
Add object_path, bus_name and requested_bus_name properties to ProxyObject.
There is also a placeholder for unique_bus_name, although it's not currently
implemented.
dbus/proxies.py | 43 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 41 insertions(+), 2 deletions(-)
commit a81f1e90b293f1279ad4797753649f4264c559f3
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 14:49:44 2007 +0100
Revert the part of the previous patch that added dbus_name to signals.
Making this work correctly will also require changes to the introspect code.
dbus/decorators.py | 13 +++----------
1 files changed, 3 insertions(+), 10 deletions(-)
commit e4050f2750d2fdb5c05a7d7b9cb4030b99133f13
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 14:45:14 2007 +0100
Preparation for fallback-object support:
* Let exported methods receive the path, destination and raw message via
kwargs, as well as the sender
* Let exported signals be emitted from a variable object-path
dbus/decorators.py | 81 ++++++++++++++++++++++++++++++++++++++++++++-----
dbus/service.py | 8 ++++-
test/test-client.py | 11 +++++++
test/test-service.py | 8 +++++
4 files changed, 98 insertions(+), 10 deletions(-)
commit ae8014c72a7d304f20d9422009f42bc48fa8f298
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 17:45:03 2007 +0100
Fix fd.o #10174: make it possible to return multiple values with no signature.
More specifically: when a service method with no signature synchronously
returns a tuple that is not a Struct, interpret it as a multi-valued return,
rather than as a structure.
This is a common Python idiom, and returning a struct makes little sense
anyway when D-Bus lets you return multiple values.
Returned lists are still interpreted as arrays - returning an array is
entirely sensible, and indeed likely to be common.
Async service methods are unaffected (there is no ambiguity), and it's still
possible to return a structure by returning a dbus.Struct with appropriate
contents.
https://bugs.freedesktop.org/show_bug.cgi?id=10174
dbus/service.py | 8 +++++++-
test/test-client.py | 6 ++++++
test/test-service.py | 5 +++++
3 files changed, 18 insertions(+), 1 deletions(-)
commit 705b343c205b82c93aab0f31535d1dc99a3c0265
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 17:39:27 2007 +0100
test/test-service.py: use a constant for the interface name, for clarity
test/test-service.py | 43 +++++++++++++++++++++++--------------------
1 files changed, 23 insertions(+), 20 deletions(-)
commit a2fa9563ee9e3bfca549397c0bf58946eaff37b2
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 17:21:11 2007 +0100
.gitignore: Ignore INSTALL and dbus-python-*.tar.gz
.gitignore | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
commit 50469e3e0a04d27be1ee227518ca377e16919626
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 14:41:45 2007 +0100
Remember to include tools in dist
Makefile.am | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit df42e53ab497dce7f00bd2eb3f2af1c022c0096c
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 13:51:51 2007 +0100
Remove trailing whitespace in Python source
dbus/_dbus.py | 8 ++++----
dbus/decorators.py | 2 +-
dbus/proxies.py | 10 +++++-----
dbus/service.py | 2 +-
4 files changed, 11 insertions(+), 11 deletions(-)
commit 1fa0c331f5327ef1d622b55a050949845eb89b0f
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 13:50:02 2007 +0100
Remove trailing whitespace in C source
_dbus_bindings/abstract.c | 4 ++--
_dbus_bindings/conn-methods.c | 4 ++--
_dbus_bindings/conn.c | 2 +-
_dbus_bindings/containers.c | 4 ++--
_dbus_bindings/message-append.c | 6 +++---
_dbus_bindings/message-internal.h | 2 +-
_dbus_bindings/message.c | 2 +-
_dbus_bindings/pending-call.c | 2 +-
8 files changed, 13 insertions(+), 13 deletions(-)
commit cdf20eebae59e0ceb2cf8fc2660609e6c38ccebf
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 13:47:09 2007 +0100
Add optional checks for coding style (mainly whitespace at the moment).
These are on by default for git builds, off by default for releases.
_dbus_bindings/Makefile.am | 3 +++
configure.ac | 17 ++++++++++++++++-
dbus/Makefile.am | 3 +++
tools/Makefile.am | 5 +++++
tools/check-c-style.sh | 17 +++++++++++++++++
tools/check-coding-style.mk | 25 +++++++++++++++++++++++++
tools/check-py-style.sh | 18 ++++++++++++++++++
tools/check-whitespace.sh | 17 +++++++++++++++++
8 files changed, 104 insertions(+), 1 deletions(-)
commit b5552a3ea76b3e229f40a06d32a5860b0e9e2217
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 13:05:17 2007 +0100
Refactor build system:
* Use autoreconf to simplify autogen.sh considerably
* Use AC_CONFIG_MACRO_DIR and aclocal -I to pick up macros from m4/
* Drop acinclude.m4 in favour of putting our macros in m4/
Makefile.am | 4 +-
acinclude.m4 | 109 ----------------------------------------
autogen.sh | 64 ++++-------------------
configure.ac | 7 +--
m4/Makefile.am | 5 ++
m4/am-check-pymod.m4 | 37 ++++++++++++++
m4/am-check-python-headers.m4 | 24 +++++++++
m4/dbus-py-add-rst2htmlflag.m4 | 20 +++++++
m4/jh-add-cflag.m4 | 23 ++++++++
9 files changed, 126 insertions(+), 167 deletions(-)
commit 29fae4fdfd02cc2dd4c896a2cb271d9a3597623c
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 12:27:18 2007 +0100
test/run-with-tmp-session-bus.sh: untabify, remove trailing whitespace
test/run-with-tmp-session-bus.sh | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
commit d6b644f9317346211c94a2ae75b77ca9369a7088
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 12:26:42 2007 +0100
test/test-client.py: untabify
test/test-client.py | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
commit 35808b1bae43f846fdbcb740c359c66977231518
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 12:24:02 2007 +0100
dbus/service.py: untabify
dbus/service.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 7207bc9f616b2401de609b36dc774bbe79fa7166
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 12:23:47 2007 +0100
configure.ac: untabify
configure.ac | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
commit c2aa57fc64f32e0c197320b050b93e71949edd53
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 24 12:23:24 2007 +0100
_dbus_bindings/message.c: untabify
_dbus_bindings/message.c | 60 +++++++++++++++++++++++-----------------------
1 files changed, 30 insertions(+), 30 deletions(-)
commit a7110d5ee20f04f17346079a6a824a7c017fe124
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Mar 2 18:46:12 2007 +0000
Implement ExportedGObject, a convenience class to export GObjects on the bus.
This is non-trivial because dbus.service.Object and GObject both use
metaclasses, so we need to implement a metaclass inheriting from both their
metaclasses - it might as well go in dbus-python to avoid everyone having to
reinvent this solution.
dbus/gobject_service.py | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
commit cfb1ea5f32a5ab77078ce184cb13602f2e28fec1
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Mar 2 18:43:09 2007 +0000
* dbus.service.Object: don't let the user try to export objects on the local
path reserved by libdbus/dbus-daemon, or on an invalid path.
* BusName: don't even try to claim an invalid bus name either.
dbus/service.py | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
commit 5ee2e05d5056584d589991f5d5fd0d22df598676
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Mar 2 18:41:01 2007 +0000
* ProxyObject: allow named_service to be None, in preparation for peer-to-peer
connections. If so, never attempt to follow name owner changes (doesn't make
sense when you're talking directly to the peer).
* _ProxyMethod: allow interface to be None, for when a method call is made
on a ProxyObject without going via a dbus.Interface.
dbus/proxies.py | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
commit f2fda30b23b0176dd314329050127f61b5e92255
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Mar 2 18:38:00 2007 +0000
SignalMatch: check that interface, member and sender are either valid, or None
dbus/_dbus.py | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
commit 91d0a865d574325328b67ec8c5dab9b841b9218c
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Mar 2 18:29:34 2007 +0000
SignalMatch: remove assorted commented-out debug messages
dbus/_dbus.py | 24 +++---------------------
1 files changed, 3 insertions(+), 21 deletions(-)
commit bfc541fad2dec718abce406caa0285b1e40c4958
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Mar 2 18:13:23 2007 +0000
Remove FIXME comment - I think the current behaviour is correct.
dbus/service.py | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
commit cf48b799ebdcaf7dca0b6f729516b413be21e989
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Fri Mar 2 18:12:47 2007 +0000
* Don't let the user call methods on the reserved local path - we'll get
kicked off the bus if they do.
* Don't try to introspect the reserved local path - same problem.
* Do earlier validation of bus names etc. in client proxies.
dbus/proxies.py | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)
commit f1e0a64b9f02a77cfd468f146ed3f398b2c1c8bc
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed Feb 21 15:04:20 2007 +0000
If send_with_reply() returns TRUE but with pending call NULL, cope gracefully.
This is a workaround for the fact that trying to use the object path
/org/freedesktop/DBus/Local in a message header (e.g. when introspecting
trackerd with dbus-inspector) causes us to be disconnected by the bus daemon.
_dbus_bindings/conn-methods.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
commit 8dce2df1ceacffb2aa6e2cc8b1d4b58ee95ac5b1
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed Feb 21 12:31:15 2007 +0000
Don't examine args for functions declared METH_NOARGS.
It's not guaranteed to be non-NULL, and Python checks there are no arguments
so we don't have to.
_dbus_bindings/conn-methods.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
commit 4f88700588d80861c8520e56407d3a40d5bd86e6
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Feb 19 14:17:08 2007 +0000
dbus/_dbus.py: When an exception is raised by a signal handler, print it to stderr
dbus/_dbus.py | 54 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 32 insertions(+), 22 deletions(-)
commit a79f8dacbf86efce563cc29104bbacecb5ef9739
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Feb 13 17:54:55 2007 +0000
Update NEWS file for 0.80.2 (not actually present in the release, but at least it'll be in the next release's NEWS file)
NEWS | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
commit 22f2a483aa45720711b42fa8ce4ddf2d9fdbaec9
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Feb 13 17:44:38 2007 +0000
Set released flag back to 0
configure.ac | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: OpenPGP key: http://www.pseudorandom.co.uk/2003/contact/ or pgp.net
iD8DBQFGQZfBWSc8zVUw7HYRAiScAKDd/D/HvpoiAKH46yXQQnCB7zMqnwCghLBW
v0VSJpMZ4UiPqdsgRTv2BWI=
=ncU/
-----END PGP SIGNATURE-----
More information about the dbus
mailing list