예제 #1
0
    def async_call(*args, **kwargs):
        thread = Threaded(function, *args, **kwargs)
        thread.start()

        while thread.is_alive():
            ui.update_main_loop()
        else:
            return thread.return_
예제 #2
0
    def async_call(*args, **kwargs):
        thread = Threaded(function, *args, **kwargs)
        thread.start()

        while thread.is_alive():
            ui.update_main_loop()
        else:
            return thread.return_
예제 #3
0
def wait_queue(greenlets=None):
    if not greenlets:
        greenlets = get_queue()

    try:
        while True:
            # Kill all greenlets before exit
            if not ui.main_window.get_window():
                raise SystemExit

            try:
                if greenlets[-1].ready():
                    greenlets.pop()

                ui.update_main_loop()
            except IndexError:
                break
    except(KeyboardInterrupt, SystemExit):
        for greenlet in greenlets:
            greenlet.kill()

        sys.exit(0)
예제 #4
0
def wait_queue(greenlets=None):
    if not greenlets:
        greenlets = get_queue()

    try:
        while True:
            # Kill all greenlets before exit
            if not ui.main_window.get_window():
                raise SystemExit

            try:
                if greenlets[-1].ready():
                    greenlets.pop()

                ui.update_main_loop()
            except IndexError:
                break
    except (KeyboardInterrupt, SystemExit):
        for greenlet in greenlets:
            greenlet.kill()

        sys.exit(0)
예제 #5
0
def nonblocking_wait(seconds):
    for _ in range(seconds * 10):
        time.sleep(0.1)
        ui.update_main_loop()
예제 #6
0
def nonblocking_wait(seconds):
    for _ in range(seconds * 10):
        time.sleep(0.1)
        ui.update_main_loop()