[Telepathy-commits] [telepathy-pinocchio/master] handle incompatibility in constant naming between different dbus-python versions
Travis Reitter
travis.reitter at collabora.co.uk
Tue Aug 19 15:07:43 PDT 2008
---
pinocchio/connection_manager.py | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/pinocchio/connection_manager.py b/pinocchio/connection_manager.py
index 055b33b..a250c63 100644
--- a/pinocchio/connection_manager.py
+++ b/pinocchio/connection_manager.py
@@ -34,15 +34,27 @@ class ConnectionManager(tp.server.ConnectionManager):
"""
def __init__(self):
+ # try current symbol locations first
+ try:
+ from dbus.bus import NAME_FLAG_DO_NOT_QUEUE \
+ as NAME_FLAG_DO_NOT_QUEUE
+ from dbus.bus import REQUEST_NAME_REPLY_EXISTS \
+ as REQUEST_NAME_REPLY_EXISTS
+ # fall back to older locations for older versions of dbus-python
+ except ImportError:
+ from _dbus_bindings import NAME_FLAG_DO_NOT_QUEUE \
+ as NAME_FLAG_DO_NOT_QUEUE
+ from _dbus_bindings import REQUEST_NAME_REPLY_EXISTS \
+ as REQUEST_NAME_REPLY_EXISTS
+
tp.server.ConnectionManager.__init__(self, 'pinocchio')
self._protos[pin.common.PROTO_DEFAULT] = pin.connection.Connection
bus = dbus.SessionBus()
- rv = bus.request_name(pin.common.CM_PINOCCHIO,
- dbus.bus.NAME_FLAG_DO_NOT_QUEUE)
- if rv == dbus.bus.REQUEST_NAME_REPLY_EXISTS:
+ rv = bus.request_name(pin.common.CM_PINOCCHIO, NAME_FLAG_DO_NOT_QUEUE)
+ if rv == REQUEST_NAME_REPLY_EXISTS:
raise dbus.NameExistsException (pin.common.CM_PINOCCHIO)
def GetParameters(self, proto):
--
1.5.6.3
More information about the Telepathy-commits
mailing list