Use the new 1.8 bindings' ecore mainloop wrapper for dbus.

This commit is contained in:
Kai Huuhko 2013-04-06 17:49:55 +03:00
parent 9c043d1fe1
commit e74f0ad2a7
1 changed files with 32 additions and 37 deletions

View File

@ -47,35 +47,31 @@ def setup_log():
log = setup_log() log = setup_log()
DBUS_ENABLED = None
try: try:
import e_dbus from e_dbus import DBusEcoreMainLoop
except ImportError: except ImportError:
DBUS_ENABLED = False from efl.dbus_mainloop import DBusEcoreMainLoop
log.info("e_dbus not found")
else:
DBUS_ENABLED = True
import dbus
ml = e_dbus.DBusEcoreMainLoop()
dbus.set_default_main_loop(ml)
import dbus.service
bus = dbus.SessionBus()
dbo = None import dbus
try: ml = DBusEcoreMainLoop()
dbus.set_default_main_loop(ml)
import dbus.service
bus = dbus.SessionBus()
dbo = None
try:
dbo = bus.get_object("net.launchpad.epour", "/net/launchpad/epour") dbo = bus.get_object("net.launchpad.epour", "/net/launchpad/epour")
except dbus.exceptions.DBusException: except dbus.exceptions.DBusException:
pass pass
if dbo: if dbo:
if sys.argv[1:]: if sys.argv[1:]:
for f in sys.argv[1:]: for f in sys.argv[1:]:
log.info("Sending %s via dbus" % f) log.info("Sending %s via dbus" % f)
dbo.AddTorrent(f, dbus_interface="net.launchpad.epour") dbo.AddTorrent(f, dbus_interface="net.launchpad.epour")
sys.exit() sys.exit()
class EpourDBus(dbus.service.Object): class EpourDBus(dbus.service.Object):
def __init__(self, parent): def __init__(self, parent):
self.parent = parent self.parent = parent
dbus.service.Object.__init__(self, dbus.SessionBus(), "/net/launchpad/epour", "net.launchpad.epour") dbus.service.Object.__init__(self, dbus.SessionBus(), "/net/launchpad/epour", "net.launchpad.epour")
@ -127,7 +123,6 @@ class Epour(object):
for t in torrents: for t in torrents:
self.session.add_torrent(t) self.session.add_torrent(t)
if DBUS_ENABLED:
self.dbusname = dbus.service.BusName("net.launchpad.epour", dbus.SessionBus()) self.dbusname = dbus.service.BusName("net.launchpad.epour", dbus.SessionBus())
self.dbo = EpourDBus(self) self.dbo = EpourDBus(self)