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,47 +47,43 @@ def setup_log():
log = setup_log()
DBUS_ENABLED = None
try:
import e_dbus
from e_dbus import DBusEcoreMainLoop
except ImportError:
DBUS_ENABLED = False
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()
from efl.dbus_mainloop import DBusEcoreMainLoop
dbo = None
try:
dbo = bus.get_object("net.launchpad.epour", "/net/launchpad/epour")
except dbus.exceptions.DBusException:
pass
import dbus
ml = DBusEcoreMainLoop()
dbus.set_default_main_loop(ml)
import dbus.service
bus = dbus.SessionBus()
if dbo:
if sys.argv[1:]:
for f in sys.argv[1:]:
log.info("Sending %s via dbus" % f)
dbo.AddTorrent(f, dbus_interface="net.launchpad.epour")
sys.exit()
dbo = None
try:
dbo = bus.get_object("net.launchpad.epour", "/net/launchpad/epour")
except dbus.exceptions.DBusException:
pass
class EpourDBus(dbus.service.Object):
def __init__(self, parent):
self.parent = parent
dbus.service.Object.__init__(self, dbus.SessionBus(), "/net/launchpad/epour", "net.launchpad.epour")
if dbo:
if sys.argv[1:]:
for f in sys.argv[1:]:
log.info("Sending %s via dbus" % f)
dbo.AddTorrent(f, dbus_interface="net.launchpad.epour")
sys.exit()
self.props = {
}
class EpourDBus(dbus.service.Object):
def __init__(self, parent):
self.parent = parent
dbus.service.Object.__init__(self, dbus.SessionBus(), "/net/launchpad/epour", "net.launchpad.epour")
@dbus.service.method(dbus_interface='net.launchpad.epour',
in_signature='s', out_signature='')
def AddTorrent(self, f):
log.info("Adding %s from dbus" % f)
self.parent.session.add_torrent(str(f))
self.props = {
}
@dbus.service.method(dbus_interface='net.launchpad.epour',
in_signature='s', out_signature='')
def AddTorrent(self, f):
log.info("Adding %s from dbus" % f)
self.parent.session.add_torrent(str(f))
import mimetypes
@ -127,9 +123,8 @@ class Epour(object):
for t in torrents:
self.session.add_torrent(t)
if DBUS_ENABLED:
self.dbusname = dbus.service.BusName("net.launchpad.epour", dbus.SessionBus())
self.dbo = EpourDBus(self)
self.dbusname = dbus.service.BusName("net.launchpad.epour", dbus.SessionBus())
self.dbo = EpourDBus(self)
# Update timer
timer = timer_add(1.0, self.update)