From: Konstantin Stepanov Date: Wed, 15 Dec 2010 05:28:17 +0000 (+0200) Subject: fixed unset session bus address issue X-Git-Tag: v1.2.0~6 X-Git-Url: https://vcs.maemo.org/git/?p=dbuscron;a=commitdiff_plain;h=689661aeb4d7b906c58de6890c960e2091305f53 fixed unset session bus address issue --- diff --git a/dbuscron/bus.py b/dbuscron/bus.py index 8ab3cf0..7d7f5b8 100644 --- a/dbuscron/bus.py +++ b/dbuscron/bus.py @@ -1,5 +1,6 @@ +from __future__ import with_statement -import dbus +import dbus, os from dbuscron.logger import Logger log = Logger(__name__) @@ -41,9 +42,20 @@ class DbusBus(object): return cls.__bus def __init__(self): + self.get_session_bus_address() from dbus.mainloop.glib import DBusGMainLoop DBusGMainLoop(set_as_default=True) + def get_session_bus_address(self): + try: + return os.environ['DBUS_SESSION_BUS_ADDRESS'] + except KeyError: + with open('/tmp/session_bus_address.user', 'rb') as f: + session_bus_address = f.readline().strip().split('=', 1).pop().strip("'\"") + os.environ['DBUS_SESSION_BUS_ADDRESS'] = session_bus_address + log('session bus address aquired', session_bus_address) + return session_bus_address + @property def system(self): if not self.__system_bus: