projects
/
dbuscron
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
382ad7c
)
bus: interface to set custom session bus
author
Konstantin Stepanov
<kstep@p-nut.info>
Mon, 20 Dec 2010 10:21:20 +0000
(12:21 +0200)
committer
Konstantin Stepanov
<kstep@p-nut.info>
Mon, 20 Dec 2010 20:54:12 +0000
(22:54 +0200)
dbuscron/bus.py
patch
|
blob
|
history
diff --git
a/dbuscron/bus.py
b/dbuscron/bus.py
index
7d7f5b8
..
6a0c3a9
100644
(file)
--- a/
dbuscron/bus.py
+++ b/
dbuscron/bus.py
@@
-24,7
+24,6
@@
def dbus_to_str(value):
log.error('convert exception', e)
raise e
log.error('convert exception', e)
raise e
-
def get_dbus_message_type(message):
result = message.__class__.__name__[0:-7]
for c in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
def get_dbus_message_type(message):
result = message.__class__.__name__[0:-7]
for c in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
@@
-36,16
+35,23
@@
class DbusBus(object):
__system_bus = None
__session_bus = None
__system_bus = None
__session_bus = None
- def __new__(cls):
+ def __new__(cls, *args, **kw):
if not cls.__bus:
cls.__bus = super(DbusBus, cls).__new__(cls)
return cls.__bus
if not cls.__bus:
cls.__bus = super(DbusBus, cls).__new__(cls)
return cls.__bus
- def __init__(self):
- self.get_session_bus_address()
+ def __init__(self, session_bus_address=None):
+ if session_bus_address:
+ self.set_session_bus_address(session_bus_address)
+ else:
+ 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 set_session_bus_address(self, value):
+ os.environ['DBUS_SESSION_BUS_ADDRESS'] = str(value)
+
def get_session_bus_address(self):
try:
return os.environ['DBUS_SESSION_BUS_ADDRESS']
def get_session_bus_address(self):
try:
return os.environ['DBUS_SESSION_BUS_ADDRESS']
@@
-56,6
+62,8
@@
class DbusBus(object):
log('session bus address aquired', session_bus_address)
return session_bus_address
log('session bus address aquired', session_bus_address)
return session_bus_address
+ session_bus_address = property(get_session_bus_address, set_session_bus_address)
+
@property
def system(self):
if not self.__system_bus:
@property
def system(self):
if not self.__system_bus: