Example #1
0
    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):
        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
Example #3
0
    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
Example #4
0
    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()
Example #6
0
    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()
Example #7
0
    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])
Example #10
0
    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])
Example #11
0
    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)
Example #13
0
    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())
    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()
Example #17
0
    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()