build: Remove async_generator as a dependency
Python 3.6+ can do this natively.
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
from functools import wraps
|
||||
|
||||
from async_generator import async_generator, yield_
|
||||
|
||||
from ssb.packet_stream import PSMessageType
|
||||
|
||||
|
||||
@@ -9,7 +7,7 @@ class MuxRPCAPIException(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class MuxRPCHandler(object):
|
||||
class MuxRPCHandler:
|
||||
def check_message(self, msg):
|
||||
body = msg.body
|
||||
if isinstance(body, dict) and 'name' in body and body['name'] == 'Error':
|
||||
@@ -30,14 +28,14 @@ class MuxRPCSourceHandler(MuxRPCHandler):
|
||||
def __init__(self, ps_handler):
|
||||
self.ps_handler = ps_handler
|
||||
|
||||
@async_generator
|
||||
async def __aiter__(self):
|
||||
async for msg in self.ps_handler:
|
||||
try:
|
||||
self.check_message(msg)
|
||||
await yield_(msg)
|
||||
except MuxRPCAPIException:
|
||||
raise
|
||||
def __aiter__(self):
|
||||
return self
|
||||
|
||||
async def __anext__(self):
|
||||
msg = await self.ps_handler.__anext__()
|
||||
self.check_message(msg)
|
||||
|
||||
return msg
|
||||
|
||||
|
||||
class MuxRPCSinkHandlerMixin(object):
|
||||
|
@@ -6,7 +6,6 @@ from time import time
|
||||
from math import ceil
|
||||
|
||||
import simplejson
|
||||
from async_generator import async_generator, yield_
|
||||
|
||||
from secret_handshake import SHSClient, SHSServer
|
||||
|
||||
@@ -32,13 +31,16 @@ class PSStreamHandler(object):
|
||||
async def stop(self):
|
||||
await self.queue.put(None)
|
||||
|
||||
@async_generator
|
||||
async def __aiter__(self):
|
||||
while True:
|
||||
elem = await self.queue.get()
|
||||
if not elem:
|
||||
return
|
||||
await yield_(elem)
|
||||
def __aiter__(self):
|
||||
return self
|
||||
|
||||
async def __anext__(self):
|
||||
elem = await self.queue.get()
|
||||
|
||||
if not elem:
|
||||
raise StopAsyncIteration()
|
||||
|
||||
return elem
|
||||
|
||||
|
||||
class PSRequestHandler(object):
|
||||
@@ -113,15 +115,19 @@ class PacketStream(object):
|
||||
def is_connected(self):
|
||||
return self.connection.is_connected
|
||||
|
||||
@async_generator
|
||||
async def __aiter__(self):
|
||||
while True:
|
||||
msg = await self.read()
|
||||
if not msg:
|
||||
return
|
||||
# filter out replies
|
||||
if msg.req >= 0:
|
||||
await yield_(msg)
|
||||
def __aiter__(self):
|
||||
return self
|
||||
|
||||
async def __anext__(self):
|
||||
msg = await self.read()
|
||||
|
||||
if not msg:
|
||||
raise StopAsyncIteration()
|
||||
|
||||
if msg.req >= 0:
|
||||
return msg
|
||||
|
||||
return None
|
||||
|
||||
async def __await__(self):
|
||||
async for data in self:
|
||||
|
Reference in New Issue
Block a user