Use the new 1.8 bindings' ecore mainloop wrapper for dbus.
This commit is contained in:
parent
9c043d1fe1
commit
e74f0ad2a7
|
@ -47,47 +47,43 @@ 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()
|
||||||
dbo = bus.get_object("net.launchpad.epour", "/net/launchpad/epour")
|
dbus.set_default_main_loop(ml)
|
||||||
except dbus.exceptions.DBusException:
|
import dbus.service
|
||||||
pass
|
bus = dbus.SessionBus()
|
||||||
|
|
||||||
if dbo:
|
dbo = None
|
||||||
if sys.argv[1:]:
|
try:
|
||||||
for f in sys.argv[1:]:
|
dbo = bus.get_object("net.launchpad.epour", "/net/launchpad/epour")
|
||||||
log.info("Sending %s via dbus" % f)
|
except dbus.exceptions.DBusException:
|
||||||
dbo.AddTorrent(f, dbus_interface="net.launchpad.epour")
|
pass
|
||||||
sys.exit()
|
|
||||||
|
|
||||||
class EpourDBus(dbus.service.Object):
|
if dbo:
|
||||||
def __init__(self, parent):
|
if sys.argv[1:]:
|
||||||
self.parent = parent
|
for f in sys.argv[1:]:
|
||||||
dbus.service.Object.__init__(self, dbus.SessionBus(), "/net/launchpad/epour", "net.launchpad.epour")
|
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',
|
self.props = {
|
||||||
in_signature='s', out_signature='')
|
}
|
||||||
def AddTorrent(self, f):
|
|
||||||
log.info("Adding %s from dbus" % f)
|
@dbus.service.method(dbus_interface='net.launchpad.epour',
|
||||||
self.parent.session.add_torrent(str(f))
|
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
|
import mimetypes
|
||||||
|
@ -127,9 +123,8 @@ 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)
|
|
||||||
|
|
||||||
# Update timer
|
# Update timer
|
||||||
timer = timer_add(1.0, self.update)
|
timer = timer_add(1.0, self.update)
|
||||||
|
|
Loading…
Reference in New Issue