mirror of
https://github.com/koush/scrypted.git
synced 2026-09-21 11:10:40 +01:00
server: python formatting
This commit is contained in:
@@ -16,7 +16,7 @@ import json
|
||||
|
||||
class BufferSerializer(rpc.RpcSerializer):
|
||||
def serialize(self, value, serializationContext):
|
||||
return base64.b64encode(value).decode('utf8')
|
||||
return base64.b64encode(value).decode("utf8")
|
||||
|
||||
def deserialize(self, value, serializationContext):
|
||||
return base64.b64decode(value)
|
||||
@@ -24,15 +24,15 @@ class BufferSerializer(rpc.RpcSerializer):
|
||||
|
||||
class SidebandBufferSerializer(rpc.RpcSerializer):
|
||||
def serialize(self, value, serializationContext):
|
||||
buffers = serializationContext.get('buffers', None)
|
||||
buffers = serializationContext.get("buffers", None)
|
||||
if not buffers:
|
||||
buffers = []
|
||||
serializationContext['buffers'] = buffers
|
||||
serializationContext["buffers"] = buffers
|
||||
buffers.append(value)
|
||||
return len(buffers) - 1
|
||||
|
||||
def deserialize(self, value, serializationContext):
|
||||
buffers: List = serializationContext.get('buffers', None)
|
||||
buffers: List = serializationContext.get("buffers", None)
|
||||
buffer = buffers.pop()
|
||||
return buffer
|
||||
|
||||
@@ -56,7 +56,7 @@ class RpcFileTransport(RpcTransport):
|
||||
super().__init__()
|
||||
self.readFd = readFd
|
||||
self.writeFd = writeFd
|
||||
self.executor = ThreadPoolExecutor(1, 'rpc-read')
|
||||
self.executor = ThreadPoolExecutor(1, "rpc-read")
|
||||
|
||||
def osReadExact(self, size: int):
|
||||
b = bytes(0)
|
||||
@@ -64,7 +64,7 @@ class RpcFileTransport(RpcTransport):
|
||||
got = os.read(self.readFd, size)
|
||||
if not len(got):
|
||||
self.executor.shutdown(False)
|
||||
raise Exception('rpc end of stream reached')
|
||||
raise Exception("rpc end of stream reached")
|
||||
size -= len(got)
|
||||
b += got
|
||||
return b
|
||||
@@ -73,7 +73,7 @@ class RpcFileTransport(RpcTransport):
|
||||
lengthBytes = self.osReadExact(4)
|
||||
typeBytes = self.osReadExact(1)
|
||||
type = typeBytes[0]
|
||||
length = int.from_bytes(lengthBytes, 'big')
|
||||
length = int.from_bytes(lengthBytes, "big")
|
||||
data = self.osReadExact(length - 1)
|
||||
if type == 1:
|
||||
return data
|
||||
@@ -81,11 +81,13 @@ class RpcFileTransport(RpcTransport):
|
||||
return message
|
||||
|
||||
async def read(self):
|
||||
return await asyncio.get_event_loop().run_in_executor(self.executor, lambda: self.readMessageInternal())
|
||||
return await asyncio.get_event_loop().run_in_executor(
|
||||
self.executor, lambda: self.readMessageInternal()
|
||||
)
|
||||
|
||||
def writeMessage(self, type: int, buffer, reject):
|
||||
length = len(buffer) + 1
|
||||
lb = length.to_bytes(4, 'big')
|
||||
lb = length.to_bytes(4, "big")
|
||||
try:
|
||||
for b in [lb, bytes([type]), buffer]:
|
||||
os.write(self.writeFd, b)
|
||||
@@ -94,14 +96,18 @@ class RpcFileTransport(RpcTransport):
|
||||
reject(e)
|
||||
|
||||
def writeJSON(self, j, reject):
|
||||
return self.writeMessage(0, bytes(json.dumps(j, allow_nan=False), 'utf8'), reject)
|
||||
return self.writeMessage(
|
||||
0, bytes(json.dumps(j, allow_nan=False), "utf8"), reject
|
||||
)
|
||||
|
||||
def writeBuffer(self, buffer, reject):
|
||||
return self.writeMessage(1, buffer, reject)
|
||||
|
||||
|
||||
class RpcStreamTransport(RpcTransport):
|
||||
def __init__(self, reader: asyncio.StreamReader, writer: asyncio.StreamWriter) -> None:
|
||||
def __init__(
|
||||
self, reader: asyncio.StreamReader, writer: asyncio.StreamWriter
|
||||
) -> None:
|
||||
super().__init__()
|
||||
self.reader = reader
|
||||
self.writer = writer
|
||||
@@ -110,7 +116,7 @@ class RpcStreamTransport(RpcTransport):
|
||||
lengthBytes = await self.reader.readexactly(4)
|
||||
typeBytes = await self.reader.readexactly(1)
|
||||
type = typeBytes[0]
|
||||
length = int.from_bytes(lengthBytes, 'big')
|
||||
length = int.from_bytes(lengthBytes, "big")
|
||||
data = await self.reader.readexactly(length - 1)
|
||||
if type == 1:
|
||||
return data
|
||||
@@ -119,7 +125,7 @@ class RpcStreamTransport(RpcTransport):
|
||||
|
||||
def writeMessage(self, type: int, buffer, reject):
|
||||
length = len(buffer) + 1
|
||||
lb = length.to_bytes(4, 'big')
|
||||
lb = length.to_bytes(4, "big")
|
||||
try:
|
||||
for b in [lb, bytes([type]), buffer]:
|
||||
self.writer.write(b)
|
||||
@@ -128,7 +134,9 @@ class RpcStreamTransport(RpcTransport):
|
||||
reject(e)
|
||||
|
||||
def writeJSON(self, j, reject):
|
||||
return self.writeMessage(0, bytes(json.dumps(j, allow_nan=False), 'utf8'), reject)
|
||||
return self.writeMessage(
|
||||
0, bytes(json.dumps(j, allow_nan=False), "utf8"), reject
|
||||
)
|
||||
|
||||
def writeBuffer(self, buffer, reject):
|
||||
return self.writeMessage(1, buffer, reject)
|
||||
@@ -141,7 +149,9 @@ class RpcConnectionTransport(RpcTransport):
|
||||
self.executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
|
||||
|
||||
async def read(self):
|
||||
return await asyncio.get_event_loop().run_in_executor(self.executor, lambda: self.connection.recv())
|
||||
return await asyncio.get_event_loop().run_in_executor(
|
||||
self.executor, lambda: self.connection.recv()
|
||||
)
|
||||
|
||||
def writeMessage(self, json, reject):
|
||||
try:
|
||||
@@ -158,23 +168,20 @@ class RpcConnectionTransport(RpcTransport):
|
||||
|
||||
|
||||
async def readLoop(loop, peer: rpc.RpcPeer, rpcTransport: RpcTransport):
|
||||
deserializationContext = {
|
||||
'buffers': []
|
||||
}
|
||||
deserializationContext = {"buffers": []}
|
||||
|
||||
while True:
|
||||
message = await rpcTransport.read()
|
||||
|
||||
if type(message) != dict:
|
||||
deserializationContext['buffers'].append(message)
|
||||
deserializationContext["buffers"].append(message)
|
||||
continue
|
||||
|
||||
asyncio.run_coroutine_threadsafe(
|
||||
peer.handleMessage(message, deserializationContext), loop)
|
||||
peer.handleMessage(message, deserializationContext), loop
|
||||
)
|
||||
|
||||
deserializationContext = {
|
||||
'buffers': []
|
||||
}
|
||||
deserializationContext = {"buffers": []}
|
||||
|
||||
|
||||
async def prepare_peer_readloop(loop: AbstractEventLoop, rpcTransport: RpcTransport):
|
||||
@@ -185,7 +192,7 @@ async def prepare_peer_readloop(loop: AbstractEventLoop, rpcTransport: RpcTransp
|
||||
def send(message, reject=None, serializationContext=None):
|
||||
with mutex:
|
||||
if serializationContext:
|
||||
buffers = serializationContext.get('buffers', None)
|
||||
buffers = serializationContext.get("buffers", None)
|
||||
if buffers:
|
||||
for buffer in buffers:
|
||||
rpcTransport.writeBuffer(buffer, reject)
|
||||
@@ -193,10 +200,10 @@ async def prepare_peer_readloop(loop: AbstractEventLoop, rpcTransport: RpcTransp
|
||||
rpcTransport.writeJSON(message, reject)
|
||||
|
||||
peer = rpc.RpcPeer(send)
|
||||
peer.nameDeserializerMap['Buffer'] = SidebandBufferSerializer()
|
||||
peer.constructorSerializerMap[bytes] = 'Buffer'
|
||||
peer.constructorSerializerMap[bytearray] = 'Buffer'
|
||||
peer.constructorSerializerMap[memoryview] = 'Buffer'
|
||||
peer.nameDeserializerMap["Buffer"] = SidebandBufferSerializer()
|
||||
peer.constructorSerializerMap[bytes] = "Buffer"
|
||||
peer.constructorSerializerMap[bytearray] = "Buffer"
|
||||
peer.constructorSerializerMap[memoryview] = "Buffer"
|
||||
|
||||
async def peerReadLoop():
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user