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