def testInit(self): ecore.animator_frametime_set(1.0 / 24.0) self.assertEqual(ecore.animator_frametime_get(), 1.0 / 24.0) a1 = ecore.animator_add(cb_true, 123, "teste", a=456) a2 = ecore.Animator(cb_false, 789, "bla", a="something in a") a3 = ecore.animator_add(ecore.main_loop_quit) self.assertIsInstance(a1, ecore.Animator) self.assertIsInstance(a2, ecore.Animator) self.assertIsInstance(a3, ecore.Animator) before1 = a1.__repr__() before2 = a2.__repr__() before3 = a3.__repr__() ecore.main_loop_begin() after1 = a1.__repr__() after2 = a2.__repr__() after3 = a3.__repr__() self.assertEqual(before1, after1) self.assertNotEqual(before2, after2) # already deleted self.assertNotEqual(before3, after3) # already deleted self.assertEqual(a1.is_deleted(), False) self.assertEqual(a2.is_deleted(), True) self.assertEqual(a3.is_deleted(), True) a1.delete() del a1 del a2 # already deleted since returned false del a3 # already deleted since returned false
def testInit(self): i1 = ecore.IdleEnterer(cb_true, 123, "teste", a=456) i2 = ecore.IdleEnterer(cb_false, 789, "bla", a="something in a") self.assertIsInstance(i1, ecore.IdleEnterer) self.assertIsInstance(i2, ecore.IdleEnterer) before1 = i1.__repr__() before2 = i2.__repr__() t = ecore.Timer(1, ecore.main_loop_quit) timer = ecore.Timer(0.1, sleeper) idler = ecore.Idler(cb_idle) ecore.main_loop_begin() timer.delete() idler.delete() after1 = i1.__repr__() after2 = i2.__repr__() self.assertEqual(before1, after1) self.assertNotEqual(before2, after2) # already deleted self.assertEqual(t.is_deleted(), True) self.assertEqual(i1.is_deleted(), False) self.assertEqual(i2.is_deleted(), True) i1.delete() del i1 del i2 # already deleted since returned false del t del timer del idler
def testInit(self): i1 = ecore.idler_add(cb_true, 123, "teste", a=456) i2 = ecore.Idler(cb_false, 789, "bla", a="something in a") self.assertIsInstance(i1, ecore.Idler) self.assertIsInstance(i2, ecore.Idler) before1 = i1.__repr__() before2 = i2.__repr__() t = ecore.timer_add(1, ecore.main_loop_quit) ecore.main_loop_begin() after1 = i1.__repr__() after2 = i2.__repr__() self.assertEqual(before1, after1) self.assertNotEqual(before2, after2) # already deleted self.assertEqual(t.is_deleted(), True) self.assertEqual(i1.is_deleted(), False) self.assertEqual(i2.is_deleted(), True) i1.delete() del t del i1 del i2 # already deleted since returned false
def testSignals(self): def _signal_cb(obj, emission, source): print("Signal: emission=%s, source=%s" % (emission, source)) if emission == "quit": ecore.main_loop_quit() o = edje.Edje(self.canvas, file=theme_file, group="main") o.signal_callback_add("*", "*", _signal_cb) o.signal_emit("quit", "") ecore.main_loop_begin() o.delete()
def testInit(self): dst = "/tmp/ecore_dwnl_test.html" if os.path.exists(dst): os.remove(dst) self.assertEqual(ecore.file_download_protocol_available('http://'), True) ecore.FileDownload("http://www.google.com", dst, completion_cb=_completion_cb, progress_cb=_progress_cb) ecore.main_loop_begin()
def testInit(self): rfd, wfd = os.pipe() fdh = ecore.fd_handler_add(rfd, ecore.ECORE_FD_READ, cb_read, 123, b="xyz") ecore.timer_add(0.2, timer_write, wfd) print("before: fdh=%s" % fdh) ecore.timer_add(1, ecore.main_loop_quit) ecore.main_loop_begin() print("main loop stopped") print("after: fdh=%s" % fdh) fdh.delete() del fdh
def testInit(self): path = tempfile.mkdtemp() fm = ecore.FileMonitor(path, monitor_cb, path) self.assertIsInstance(fm, ecore.FileMonitor) self.assertEqual(fm.path, path) ecore.Timer(0.1, do_stuff, path, fm) ecore.Timer(1.0, lambda: ecore.main_loop_quit()) ecore.main_loop_begin() self.assertEqual(fm.path, path) fm.delete() # FIXME: we receive two ECORE_FILE_EVENT_DELETED_SELF, it's wrong # should be [0, 2, 2, 2, 2, 1, 2, 2] self.assertEqual(counters, [0, 2, 2, 2, 2, 2, 2, 2])
def testInit(self): p1 = ecore.Poller(4, poller_cb) p2 = ecore.Poller(2, poller_cb2, ecore.ECORE_POLLER_CORE, "uno", "due", three="tre", test=self) p3 = ecore.Poller(16, lambda: ecore.main_loop_quit()) self.assertIsInstance(p1, ecore.Poller) self.assertIsInstance(p2, ecore.Poller) self.assertIsInstance(p3, ecore.Poller) ecore.main_loop_begin() self.assertEqual(counters, [4, 1]) self.assertEqual(params, ("uno", "due", "tre"))
def testSignalReceiver(self): self.received = False def name_owner_changed_cb(name, old_owner, new_owner): if name == "org.efl.TestService": # name received...good, quit the test now! self.received = True ecore.main_loop_quit() # receive notification on name changes self.bus.add_signal_receiver(name_owner_changed_cb, signal_name="NameOwnerChanged") # claim the name 'org.efl.TestService' self.name = dbus.service.BusName("org.efl.TestService", self.bus) # start the ecore mainloop and wait at max 1.5 seconds ecore.Timer(1.5, lambda: ecore.main_loop_quit()) ecore.main_loop_begin() # did we received the signal ? self.assertTrue(self.received)
def testInit(self): t1 = ecore.timer_add(0.2, cb, 123, "teste", a=456) t2 = ecore.Timer(0.5, cb, 789, "bla", a="something in a") t3 = ecore.Timer(0.4, cb_false, 666, "bla", a="something else in a") t4 = ecore.timer_add(1, ecore.main_loop_quit) self.assertIsInstance(t1, ecore.Timer) self.assertIsInstance(t2, ecore.Timer) self.assertIsInstance(t3, ecore.Timer) self.assertIsInstance(t4, ecore.Timer) before1 = t1.__repr__() before2 = t2.__repr__() before3 = t3.__repr__() before4 = t4.__repr__() ecore.main_loop_begin() after1 = t1.__repr__() after2 = t2.__repr__() after3 = t3.__repr__() after4 = t4.__repr__() self.assertEqual(before1, after1) self.assertEqual(before2, after2) self.assertNotEqual(before3, after3) # already deleted self.assertNotEqual(before4, after4) # already deleted self.assertEqual(t1.is_deleted(), False) self.assertEqual(t2.is_deleted(), False) self.assertEqual(t3.is_deleted(), True) self.assertEqual(t4.is_deleted(), True) t1.delete() del t1 t2.delete() del t2 del t3 # already deleted since returned false del t4 # already deleted since returned false
def testDecorators(self): o = MyEdje(self.canvas) self.assertIsInstance(o, Edje) # this should trigger text_change, two times ecore.Timer(0.1, lambda: o.part_text_set("label", "asd")) ecore.Timer(0.1, lambda: o.part_text_set("label", "asd2")) # ask the edje obj to send a messagge, two times ecore.Timer(0.1, lambda: o.signal_emit("emit,message", "")) ecore.Timer(0.1, lambda: o.signal_emit("emit,message", "")) # and then quit the main loop ecore.Timer(0.2, lambda: ecore.main_loop_quit()) ecore.main_loop_begin() self.assertEqual(expected_signals, []) self.assertEqual(expected_signals2, []) self.assertEqual(expected_messages, []) self.assertEqual(expected_text_parts, []) o.delete() self.assertTrue(o.is_deleted())
class TestObject(dbus.service.Object): def __init__(self, conn, object_path="/com/example/TestService/object"): dbus.service.Object.__init__(self, conn, object_path) @dbus.service.signal("com.example.TestService") def HelloSignal(self, message): # The signal is emitted when this method exits # You can have code here if you wish pass @dbus.service.method("com.example.TestService") def emitHelloSignal(self): #you emit signals by calling the signal"s skeleton method self.HelloSignal("Hello") return "Signal emitted" @dbus.service.method("com.example.TestService", in_signature="", out_signature="") def Exit(self): ecore.idler_add(ecore.main_loop_quit) dbus_ml = dbus_mainloop.DBusEcoreMainLoop() session_bus = dbus.SessionBus(mainloop=dbus_ml) name = dbus.service.BusName("com.example.TestService", session_bus) obj = TestObject(session_bus) ecore.main_loop_begin()
def testInit(self): # basic read flags with line support flags = ecore.ECORE_EXE_PIPE_READ | ecore.ECORE_EXE_PIPE_READ_LINE_BUFFERED # simple ls -la output, monitor for add, del and data (stdout) def on_add(x, event, a, b, c): print("ecore.Exe added:") print(" exe : %s" % x) print(" event: %s" % event) print(" extra: arguments: a=%s, b=%s, c=%s" % (a, b, c)) print("") self.assertEqual(x, exe) self.assertIsInstance(event, ecore.EventExeAdd) self.assertEqual(a, 1) self.assertEqual(b, 2) self.assertEqual(c, 3) def on_del(x, event): print("ecore.Exe deleted:") print(" exe : %s" % x) ecore.timer_add(1.0, ecore.main_loop_quit) def on_data(x, event): self.assertEqual(x, exe) self.assertIsInstance(event, ecore.EventExeData) print("ecore.Exe data on stdout:") print(" Exe : %s" % repr(exe)) print(" Event : %s" % repr(event)) for l in event.lines: print(" %s" % repr(l)) print exe = ecore.Exe("ls -la", flags) exe.on_add_event_add(on_add, 1, c=3, b=2) exe.on_del_event_add(on_del) exe.on_data_event_add(on_data) # use C-api like event handler, will catch all 3 Exe() instances def catch_all_exe_add(event): print("") print(">>> EXE ADDED: %s" % event) print("") return 1 ecore.on_exe_add_event_add(catch_all_exe_add) ecore.Exe("ls -l /", flags) # start cat, send data to it, then read, then send again, then kill it def on_cat_pipe_add(x, event): x.send(b"123\nabc\nxyz\n") def on_cat_pipe_data(x, event): self.assertEqual(event.lines, ["123", "abc", "xyz"]) x.on_data_event_del(on_cat_pipe_data) def on_cat_pipe_data2(x, event): print("cat pipe output:") print("\n".join(event.lines)) print("") x.send("some\nmore\nlines!\n") if event.lines and event.lines[-1] == "lines!": x.on_data_event_del(on_cat_pipe_data2) x.kill( ) # otherwise it will stay there forever (will be detached) cat_pipe = ecore.Exe("cat", flags | ecore.ECORE_EXE_PIPE_WRITE) cat_pipe.on_add_event_add(on_cat_pipe_add) cat_pipe.on_data_event_add(on_cat_pipe_data) cat_pipe.on_data_event_add(on_cat_pipe_data2) ecore.main_loop_begin()
dbus_ml = dbus_mainloop.DBusEcoreMainLoop() bus = dbus.SystemBus(mainloop=dbus_ml) bus.add_signal_receiver(disc_started_signal, "DiscoveryStarted", "org.bluez.Adapter", "org.bluez", "/org/bluez/hci0") bus.add_signal_receiver(rem_dev_found_signal, "RemoteDeviceFound", "org.bluez.Adapter", "org.bluez", "/org/bluez/hci0") bus.add_signal_receiver(rem_dev_name_signal, "RemoteNameUpdated", "org.bluez.Adapter", "org.bluez", "/org/bluez/hci0") bus.add_signal_receiver(disc_completed_signal, "DiscoveryCompleted", "org.bluez.Adapter", "org.bluez", "/org/bluez/hci0") obj = bus.get_object("org.bluez", "/org/bluez/hci0") adapter = dbus.Interface(obj, "org.bluez.Adapter") adapter.DiscoverDevices() ecore.main_loop_begin()
def testInit(self): # basic read flags with line support flags = ecore.ECORE_EXE_PIPE_READ | ecore.ECORE_EXE_PIPE_READ_LINE_BUFFERED # simple ls -la output, monitor for add, del and data (stdout) def on_add(x, event, a, b, c): print("ecore.Exe added:") print(" exe : %s" % x) print(" event: %s" % event) print(" extra: arguments: a=%s, b=%s, c=%s" % (a, b, c)) print("") self.assertEqual(x, exe) self.assertIsInstance(event, ecore.EventExeAdd) self.assertEqual(a, 1) self.assertEqual(b, 2) self.assertEqual(c, 3) def on_del(x, event): print("ecore.Exe deleted:") print(" exe : %s" % x) ecore.timer_add(1.0, ecore.main_loop_quit) def on_data(x, event): self.assertEqual(x, exe) self.assertIsInstance(event, ecore.EventExeData) print("ecore.Exe data on stdout:") print(" Exe : %s" % repr(exe)) print(" Event : %s" % repr(event)) for l in event.lines: print(" %s" % repr(l)) print exe = ecore.Exe("ls -la", flags) exe.on_add_event_add(on_add, 1, c=3, b=2) exe.on_del_event_add(on_del) exe.on_data_event_add(on_data) # use C-api like event handler, will catch all 3 Exe() instances def catch_all_exe_add(event): print("") print(">>> EXE ADDED: %s" % event) print("") return 1 ecore.on_exe_add_event_add(catch_all_exe_add) ecore.Exe("ls -l /", flags) # start cat, send data to it, then read, then send again, then kill it def on_cat_pipe_add(x, event): x.send(b"123\nabc\nxyz\n") def on_cat_pipe_data(x, event): self.assertEqual(event.lines, ["123", "abc", "xyz"]) x.on_data_event_del(on_cat_pipe_data) def on_cat_pipe_data2(x, event): print("cat pipe output:") print("\n".join(event.lines)) print("") x.send("some\nmore\nlines!\n") if event.lines and event.lines[-1] == "lines!": x.on_data_event_del(on_cat_pipe_data2) x.kill() # otherwise it will stay there forever (will be detached) cat_pipe = ecore.Exe("cat", flags | ecore.ECORE_EXE_PIPE_WRITE) cat_pipe.on_add_event_add(on_cat_pipe_add) cat_pipe.on_data_event_add(on_cat_pipe_data) cat_pipe.on_data_event_add(on_cat_pipe_data2) ecore.main_loop_begin()