projects
/
dbuscron
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d9cbb54
)
fixed unset session bus address issue
author
Konstantin Stepanov
<kstep@p-nut.info>
Wed, 15 Dec 2010 05:28:17 +0000
(07:28 +0200)
committer
Konstantin Stepanov
<kstep@p-nut.info>
Wed, 15 Dec 2010 05:33:09 +0000
(07:33 +0200)
dbuscron/bus.py
patch
|
blob
|
history
diff --git
a/dbuscron/bus.py
b/dbuscron/bus.py
index
8ab3cf0
..
7d7f5b8
100644
(file)
--- 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__)
from dbuscron.logger import Logger
log = Logger(__name__)
@@
-41,9
+42,20
@@
class DbusBus(object):
return cls.__bus
def __init__(self):
return cls.__bus
def __init__(self):
+ self.get_session_bus_address()
from dbus.mainloop.glib import DBusGMainLoop
DBusGMainLoop(set_as_default=True)
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:
@property
def system(self):
if not self.__system_bus: