当前位置: 首页>>代码示例>>Python>>正文


Python async_generator.yield_方法代码示例

本文整理汇总了Python中async_generator.yield_方法的典型用法代码示例。如果您正苦于以下问题:Python async_generator.yield_方法的具体用法?Python async_generator.yield_怎么用?Python async_generator.yield_使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在async_generator的用法示例。


在下文中一共展示了async_generator.yield_方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: purerpc_codegen_greeter_port

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def purerpc_codegen_greeter_port(greeter_pb2, greeter_grpc):
    class Servicer(greeter_grpc.GreeterServicer):
        async def SayHello(self, message):
            return greeter_pb2.HelloReply(message="Hello, " + message.name)

        @async_generator
        async def SayHelloGoodbye(self, message):
            await yield_(greeter_pb2.HelloReply(message="Hello, " + message.name))
            await yield_(greeter_pb2.HelloReply(message="Goodbye, " + message.name))

        async def SayHelloToManyAtOnce(self, messages):
            names = []
            async for message in messages:
                names.append(message.name)
            return greeter_pb2.HelloReply(message="Hello, " + ", ".join(names))

        @async_generator
        async def SayHelloToMany(self, messages):
            async for message in messages:
                await yield_(greeter_pb2.HelloReply(message="Hello, " + message.name))

    with run_purerpc_service_in_process(Servicer().service) as port:
        yield port 
开发者ID:standy66,项目名称:purerpc,代码行数:25,代码来源:test_greeter.py

示例2: get_entities_iter

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def get_entities_iter(mode, in_list, client):
    """
    Get a generator of entities to act on given a mode ('blacklist',
    'whitelist') and an input from that mode. If whitelist, generator
    will be asynchronous.
    """
    # TODO change None to empty blacklist?
    mode = mode.lower()
    if mode == 'whitelist':
        assert client is not None
        async for ent in entities_from_str(client.get_input_entity, in_list):
            await yield_(ent)
    elif mode == 'blacklist':
        assert client is not None
        avoid = set()
        async for eid in entities_from_str(client.get_peer_id, in_list):
            avoid.add(eid)

        # TODO Should this get_dialogs call be cached? How?
        async for dialog in client.iter_dialogs():
            if dialog.id not in avoid:
                await yield_(dialog.input_entity) 
开发者ID:expectocode,项目名称:telegram-export,代码行数:24,代码来源:exporter.py

示例3: send_message_receive_stream

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def send_message_receive_stream(server_url,
                                      auth_token,
                                      sender_id,
                                      message):
    payload = {
        "sender": sender_id,
        "message": message
    }

    url = "{}/webhooks/rest/webhook?stream=true&token={}".format(
        server_url, auth_token)

    # TODO: check if this properly receives UTF-8 data
    async with aiohttp.ClientSession() as session:
        async with session.post(url,
                                json=payload,
                                raise_for_status=True) as resp:

            async for line in resp.content:
                if line:
                    await yield_(json.loads(line.decode("utf-8"))) 
开发者ID:RasaHQ,项目名称:rasa_core,代码行数:23,代码来源:console.py

示例4: async_parse

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def async_parse(ifp, pb_cls, **kwargs):
    """Parse an async stream.

    Args:
        ifp (file-like object): input async stream.
        pb_cls (protobuf.message.Message.__class__): The class object of
            the protobuf message type encoded in the stream.
    """
    with open(fileobj=ifp, mode='rb', **kwargs) as istream:
        async for data in istream:
            if isinstance(data, istream.delimiter_class()):
                await yield_(data)
            else:
                pb_obj = pb_cls()
                pb_obj.ParseFromString(data)
                await yield_(pb_obj) 
开发者ID:cartoonist,项目名称:pystream-protobuf,代码行数:18,代码来源:stream.py

示例5: progress

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def progress(self):
        while True:
            if self.state_ispending():
                await yield_({
                    "message": "Pending in queue...",
                })
            elif self.state_isrunning():
                await yield_({
                    "message": "Cluster job running... waiting to connect",
                })
                return
            else:
                await yield_({
                    "message": "Unknown status...",
                })
            await gen.sleep(1) 
开发者ID:jupyterhub,项目名称:batchspawner,代码行数:18,代码来源:batchspawner.py

示例6: test_function

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def test_function(self, expected_exc):
        @context_teardown
        async def start(ctx: Context):
            nonlocal phase, received_exception
            phase = 'started'
            exc = await yield_()
            phase = 'finished'
            received_exception = exc

        phase = received_exception = None
        context = Context()
        await start(context)
        assert phase == 'started'

        await context.close(expected_exc)
        assert phase == 'finished'
        assert received_exception == expected_exc 
开发者ID:asphalt-framework,项目名称:asphalt,代码行数:19,代码来源:test_context.py

示例7: test_method

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def test_method(self, expected_exc):
        class SomeComponent:
            @context_teardown
            async def start(self, ctx: Context):
                nonlocal phase, received_exception
                phase = 'started'
                exc = await yield_()
                phase = 'finished'
                received_exception = exc

        phase = received_exception = None
        context = Context()
        await SomeComponent().start(context)
        assert phase == 'started'

        await context.close(expected_exc)
        assert phase == 'finished'
        assert received_exception == expected_exc 
开发者ID:asphalt-framework,项目名称:asphalt,代码行数:20,代码来源:test_context.py

示例8: _paginator

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def _paginator(self):
        if self.cassandra_fut is None:
            raise RuntimeError(
                'Pagination should be done inside async context manager')

        while (
            self._deque or
            not self._finish_event.is_set() or
            self._exc is not None
        ):
            if self._exc is not None:
                raise self._exc

            while self._deque:
                await yield_(self._deque.popleft())

            await asyncio.wait(
                (
                    self._drain_event.wait(),
                    self._finish_event.wait(),
                ),
                return_when=asyncio.FIRST_COMPLETED,
                loop=self._loop
            ) 
开发者ID:aio-libs,项目名称:aiocassandra,代码行数:26,代码来源:aiocassandra.py

示例9: __aiter__

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def __aiter__(self):
        if not self.client.is_async:
            raise RuntimeError('Calling __aiter__ on an asynchronus client. Use :for: not :async for:')
        while True:
            index = 0
            for _ in range(index, len(self.raw_data)):
                await yield_(self.raw_data[index])
                index += 1
            if not await self.update_data():
                break 
开发者ID:cgrok,项目名称:clashroyale,代码行数:12,代码来源:models.py

示例10: SayHelloToMany

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def SayHelloToMany(self, input_messages):
        async for message in input_messages:
            await yield_(HelloReply(message=message.name)) 
开发者ID:standy66,项目名称:purerpc,代码行数:5,代码来源:test_perf.py

示例11: SayHelloGoodbye

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def SayHelloGoodbye(self, message):
        await yield_(greeter_pb2.HelloReply(message=message.name))
        await yield_(greeter_pb2.HelloReply(message=message.name)) 
开发者ID:standy66,项目名称:purerpc,代码行数:5,代码来源:failing_server.py

示例12: SayHelloToMany

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def SayHelloToMany(self, messages):
        async for message in messages:
            await yield_(greeter_pb2.HelloReply(message=message.name)) 
开发者ID:standy66,项目名称:purerpc,代码行数:5,代码来源:failing_server.py

示例13: _service_wrapper

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def _service_wrapper(service=None, setup_fn=None, teardown_fn=None):
    if setup_fn is not None:
        await yield_(await setup_fn())
    else:
        await yield_(service)

    if teardown_fn is not None:
        await teardown_fn() 
开发者ID:standy66,项目名称:purerpc,代码行数:10,代码来源:server.py

示例14: stream_to_async_iterator

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def stream_to_async_iterator(stream: GRPCProtoStream):
    while True:
        msg = await stream.receive_message()
        if msg is None:
            event = stream.end_stream_event
            if isinstance(event, ResponseEnded):
                raise_status(event.status)
            return
        await yield_(msg) 
开发者ID:standy66,项目名称:purerpc,代码行数:11,代码来源:wrappers.py

示例15: purerpc_echo_port

# 需要导入模块: import async_generator [as 别名]
# 或者: from async_generator import yield_ [as 别名]
def purerpc_echo_port(echo_pb2, echo_grpc):
    class Servicer(echo_grpc.EchoServicer):
        async def Echo(self, message):
            return echo_pb2.EchoReply(data=message.data)

        @async_generator
        async def EchoTwoTimes(self, message):
            await yield_(echo_pb2.EchoReply(data=message.data))
            await yield_(echo_pb2.EchoReply(data=message.data))

        @async_generator
        async def EchoEachTime(self, messages):
            async for message in messages:
                await yield_(echo_pb2.EchoReply(data=message.data))

        async def EchoLast(self, messages):
            data = []
            async for message in messages:
                data.append(message.data)
            return echo_pb2.EchoReply(data="".join(data))

        @async_generator
        async def EchoLastV2(self, messages):
            data = []
            async for message in messages:
                data.append(message.data)
            await yield_(echo_pb2.EchoReply(data="".join(data)))

    with run_purerpc_service_in_process(Servicer().service) as port:
        yield port 
开发者ID:standy66,项目名称:purerpc,代码行数:32,代码来源:test_echo.py


注:本文中的async_generator.yield_方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。