def setUp(self): policy = greenio.GreenTrolliusEventLoopPolicy() trollius.set_event_loop_policy(policy) if asyncio is not None: asyncio.set_event_loop_policy(policy) self.loop = policy.new_event_loop() policy.set_event_loop(self.loop)
def asyncio_misc_init(): asyncio.set_event_loop_policy(gbulb.GLibEventLoopPolicy()) main_loop = asyncio.get_event_loop() main_loop.add_signal_handler(signal.SIGINT, _sigint_handler) main_loop.add_signal_handler(signal.SIGTERM, _sigterm_handler) g_quit_handlers.append( lambda: main_loop.call_soon_threadsafe(main_loop.stop))
def main(): asyncio.set_event_loop_policy(asyncio_qt.QtEventLoopPolicy()) app = QtGui.QApplication(sys.argv) dialog = QtGui.QDialog() button = QtGui.QPushButton("text", dialog) button.clicked.connect(start_other) dialog.show() loop = asyncio.get_event_loop() asyncio.Task(simple_coroutine()) loop.run_forever()
def main(): logging.basicConfig(level=logging.WARN, stream=sys.stdout) asyncio.set_event_loop_policy(asyncio_qt.QtEventLoopPolicy()) app = QtGui.QApplication(sys.argv) app.setApplicationName("legtool") parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("-c", "--config", help="use a non-default configuration file") args = parser.parse_args() legtool = LegTool(args) legtool.show() loop = asyncio.get_event_loop() loop.run_forever()
def main(): logging.basicConfig(level=logging.WARN, stream=sys.stdout) asyncio.set_event_loop_policy(asyncio_qt.QtEventLoopPolicy()) app = QtGui.QApplication(sys.argv) app.setApplicationName('legtool') parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('-c', '--config', help='use a non-default configuration file') args = parser.parse_args() legtool = LegTool(args) legtool.show() loop = asyncio.get_event_loop() loop.run_forever()
def main(): logging.basicConfig(level=logging.WARN, stream=sys.stdout) asyncio.set_event_loop_policy(asyncio_qt.QtEventLoopPolicy()) app = QtGui.QApplication(sys.argv) app.setApplicationName('mjscore_manager') parser = optparse.OptionParser() parser.add_option('-s', '--serial', help='serial port to use') options, args = parser.parse_args() assert len(args) == 0 manager = ManagerMainWindow() if options.serial: manager.open_serial(options.serial) manager.show() asyncio.get_event_loop().run_forever()
def _create_dispatcher(self): if impl_aioeventlet is not None: aioeventlet_class = impl_aioeventlet.AsyncioEventletExecutor else: aioeventlet_class = None is_aioeventlet = (self.executor == aioeventlet_class) if impl_blocking is not None: blocking_class = impl_blocking.BlockingExecutor else: blocking_class = None is_blocking = (self.executor == blocking_class) if is_aioeventlet: policy = aioeventlet.EventLoopPolicy() trollius.set_event_loop_policy(policy) self.addCleanup(trollius.set_event_loop_policy, None) def run_loop(loop): loop.run_forever() loop.close() trollius.set_event_loop(None) def run_executor(executor): # create an event loop in the executor thread loop = trollius.new_event_loop() trollius.set_event_loop(loop) eventlet.spawn(run_loop, loop) # run the executor executor.start() executor.wait() # stop the event loop: run_loop() will close it loop.stop() @trollius.coroutine def simple_coroutine(value): raise trollius.Return(value) endpoint = mock.MagicMock(return_value=simple_coroutine('result')) event = eventlet.event.Event() elif is_blocking: def run_executor(executor): executor.start() executor.execute() executor.wait() endpoint = mock.MagicMock(return_value='result') event = None else: def run_executor(executor): executor.start() executor.wait() endpoint = mock.MagicMock(return_value='result') event = None class Dispatcher(object): def __init__(self, endpoint): self.endpoint = endpoint self.result = "not set" def callback(self, incoming, executor_callback): if executor_callback is None: result = self.endpoint(incoming.ctxt, incoming.message) else: result = executor_callback(self.endpoint, incoming.ctxt, incoming.message) if is_aioeventlet: event.send() self.result = result return result def __call__(self, incoming, executor_callback=None): return utils.DispatcherExecutorContext(incoming, self.callback, executor_callback) return Dispatcher(endpoint), endpoint, event, run_executor
def tearDown(self): self.loop.close() trollius.set_event_loop_policy(None)
def setUp(self): policy = greenio.GreenTrolliusEventLoopPolicy() asyncio.set_event_loop_policy(policy) trollius.set_event_loop_policy(policy) self.loop = trollius.new_event_loop() policy.set_event_loop(self.loop)
def test_executor_dispatch(self): if impl_aioeventlet is not None: aioeventlet_class = impl_aioeventlet.AsyncioEventletExecutor else: aioeventlet_class = None is_aioeventlet = self.executor == aioeventlet_class if is_aioeventlet: policy = aioeventlet.EventLoopPolicy() trollius.set_event_loop_policy(policy) self.addCleanup(trollius.set_event_loop_policy, None) def run_loop(loop): loop.run_forever() loop.close() trollius.set_event_loop(None) def run_executor(executor): # create an event loop in the executor thread loop = trollius.new_event_loop() trollius.set_event_loop(loop) eventlet.spawn(run_loop, loop) # run the executor executor.start() executor.wait() # stop the event loop: run_loop() will close it loop.stop() @trollius.coroutine def simple_coroutine(value): yield None raise trollius.Return(value) endpoint = mock.MagicMock(return_value=simple_coroutine("result")) event = eventlet.event.Event() else: def run_executor(executor): executor.start() executor.wait() endpoint = mock.MagicMock(return_value="result") class Dispatcher(object): def __init__(self, endpoint): self.endpoint = endpoint self.result = "not set" @contextlib.contextmanager def __call__(self, incoming, executor_callback=None): if executor_callback is not None: def callback(): result = executor_callback(self.endpoint, incoming.ctxt, incoming.message) self.result = result return result yield callback event.send() else: def callback(): result = self.endpoint(incoming.ctxt, incoming.message) self.result = result return result yield callback listener = mock.Mock(spec=["poll"]) dispatcher = Dispatcher(endpoint) executor = self.executor(self.conf, listener, dispatcher) incoming_message = mock.MagicMock(ctxt={}, message={"payload": "data"}) def fake_poll(timeout=None): if is_aioeventlet: if listener.poll.call_count == 1: return incoming_message event.wait() executor.stop() else: if listener.poll.call_count == 1: return incoming_message executor.stop() listener.poll.side_effect = fake_poll self._run_in_thread(run_executor, executor) endpoint.assert_called_once_with({}, {"payload": "data"}) self.assertEqual(dispatcher.result, "result")
def test_executor_dispatch(self): if impl_aioeventlet is not None: aioeventlet_class = impl_aioeventlet.AsyncioEventletExecutor else: aioeventlet_class = None is_aioeventlet = (self.executor == aioeventlet_class) if is_aioeventlet: policy = aioeventlet.EventLoopPolicy() trollius.set_event_loop_policy(policy) self.addCleanup(trollius.set_event_loop_policy, None) def run_loop(loop): loop.run_forever() loop.close() trollius.set_event_loop(None) def run_executor(executor): # create an event loop in the executor thread loop = trollius.new_event_loop() trollius.set_event_loop(loop) eventlet.spawn(run_loop, loop) # run the executor executor.start() executor.wait() # stop the event loop: run_loop() will close it loop.stop() @trollius.coroutine def simple_coroutine(value): yield None raise trollius.Return(value) endpoint = mock.MagicMock(return_value=simple_coroutine('result')) event = eventlet.event.Event() else: def run_executor(executor): executor.start() executor.wait() endpoint = mock.MagicMock(return_value='result') class Dispatcher(object): def __init__(self, endpoint): self.endpoint = endpoint self.result = "not set" @contextlib.contextmanager def __call__(self, incoming, executor_callback=None): if executor_callback is not None: def callback(): result = executor_callback(self.endpoint, incoming.ctxt, incoming.message) self.result = result return result yield callback event.send() else: def callback(): result = self.endpoint(incoming.ctxt, incoming.message) self.result = result return result yield callback listener = mock.Mock(spec=['poll']) dispatcher = Dispatcher(endpoint) executor = self.executor(self.conf, listener, dispatcher) incoming_message = mock.MagicMock(ctxt={}, message={'payload': 'data'}) def fake_poll(timeout=None): if is_aioeventlet: if listener.poll.call_count == 1: return incoming_message event.wait() executor.stop() else: if listener.poll.call_count == 1: return incoming_message executor.stop() listener.poll.side_effect = fake_poll self._run_in_thread(run_executor, executor) endpoint.assert_called_once_with({}, {'payload': 'data'}) self.assertEqual(dispatcher.result, 'result')