deal with stupid gutsy sometimes not being able to connect to dbus

This commit is contained in:
Marcos Pinto 2007-11-22 22:26:06 +00:00
commit bb03e2ff6a

View file

@ -113,10 +113,17 @@ def start_deluge():
interface = deluge.interface.DelugeGTK()
interface.start(get_cmd_line_torrents())
bus = dbus.SessionBus()
dbus_objects = dbus.Interface(bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus'), 'org.freedesktop.DBus').ListNames()
try:
bus = dbus.SessionBus()
except:
if not deluge.common.windows_check():
pid = os.fork()
if not pid:
os.popen('dbus-launch deluge')
else:
dbus_objects = dbus.Interface(bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus'), 'org.freedesktop.DBus').ListNames()
if not "org.deluge_torrent.Deluge" in dbus_objects:
if not "org.deluge_torrent.Deluge" in dbus_objects:
print "no existing Deluge session"
if not os.path.exists(os.path.join(deluge.common.CONFIG_DIR, 'firstrun')):
import deluge.wizard
@ -124,7 +131,7 @@ if not "org.deluge_torrent.Deluge" in dbus_objects:
start_deluge()
else:
else:
## This connects to the deluge interface
print "create proxy object"
proxy = bus.get_object('org.deluge_torrent.Deluge', '/org/deluge_torrent/DelugeObject')