Fix context memory
This commit is contained in:
parent
002be2be12
commit
a3413e382c
6
rpc.py
6
rpc.py
@ -113,14 +113,14 @@ class ClientSync(object):
|
|||||||
self.context = 'XUS SIGNON'
|
self.context = 'XUS SIGNON'
|
||||||
if TCPConnect and (res := self.TCPConnect(self.sock.getsockname()[0], '0', socket.gethostname())) != 'accept':
|
if TCPConnect and (res := self.TCPConnect(self.sock.getsockname()[0], '0', socket.gethostname())) != 'accept':
|
||||||
raise RPCExcInvalidResult('TCPConnect', self.sock.getsockname()[0], '0', socket.gethostname(), res)
|
raise RPCExcInvalidResult('TCPConnect', self.sock.getsockname()[0], '0', socket.gethostname(), res)
|
||||||
def __call__(self, name: str, *args: Any, command: bool=False, envelope: int=0, context: Union[bool, None]=None, encoding='latin-1'):
|
def __call__(self, name: str, *args: Any, command: bool=False, envelope: int=0, context: Union[Sequence, None]=None, encoding='latin-1'):
|
||||||
name = name.replace('_', ' ')
|
name = name.replace('_', ' ')
|
||||||
with self.lock:
|
with self.lock:
|
||||||
if name != 'XWB CREATE CONTEXT' and context and len(context) > 0 and self.context not in context:
|
if name != 'XWB CREATE CONTEXT' and context and len(context) > 0 and self.context not in context:
|
||||||
send_rpc_msg(self.sock, rpc_pack('XWB CREATE CONTEXT', XWBHash_encrypt(context[0]), envelope=envelope, encoding=encoding))
|
send_rpc_msg(self.sock, rpc_pack('XWB CREATE CONTEXT', XWBHash_encrypt(context[0]), envelope=envelope, encoding=encoding))
|
||||||
if (res := rpc_unpack_result(next(self.recv_rpc_msg), encoding=encoding)) != '1':
|
if (res := rpc_unpack_result(next(self.recv_rpc_msg), encoding=encoding)) != '1':
|
||||||
raise RPCExcInvalidResult('XWB CREATE CONTEXT', context[0], res)
|
raise RPCExcInvalidResult('XWB CREATE CONTEXT', context[0], res)
|
||||||
self.context = context
|
self.context = context[0]
|
||||||
send_rpc_msg(self.sock, rpc_pack(name, *args, command=command, envelope=envelope, encoding=encoding))
|
send_rpc_msg(self.sock, rpc_pack(name, *args, command=command, envelope=envelope, encoding=encoding))
|
||||||
return rpc_unpack_result(next(self.recv_rpc_msg), encoding=encoding)
|
return rpc_unpack_result(next(self.recv_rpc_msg), encoding=encoding)
|
||||||
def __getattr__(self, key: str, commands: set={'TCPConnect'}):
|
def __getattr__(self, key: str, commands: set={'TCPConnect'}):
|
||||||
@ -195,7 +195,7 @@ class ClientAsync(object):
|
|||||||
await asend_rpc_msg(self.writer, rpc_pack('XWB CREATE CONTEXT', XWBHash_encrypt(context[0]), envelope=envelope, encoding=encoding))
|
await asend_rpc_msg(self.writer, rpc_pack('XWB CREATE CONTEXT', XWBHash_encrypt(context[0]), envelope=envelope, encoding=encoding))
|
||||||
if (res := rpc_unpack_result(await self.arecv_rpc_msg.__anext__(), encoding=encoding)) != '1':
|
if (res := rpc_unpack_result(await self.arecv_rpc_msg.__anext__(), encoding=encoding)) != '1':
|
||||||
raise RPCExcInvalidResult('XWB CREATE CONTEXT', context[0], res)
|
raise RPCExcInvalidResult('XWB CREATE CONTEXT', context[0], res)
|
||||||
self.context = context
|
self.context = context[0]
|
||||||
await asend_rpc_msg(self.writer, rpc_pack(name, *args, command=command, envelope=envelope, encoding=encoding))
|
await asend_rpc_msg(self.writer, rpc_pack(name, *args, command=command, envelope=envelope, encoding=encoding))
|
||||||
return rpc_unpack_result(await self.arecv_rpc_msg.__anext__(), encoding=encoding)
|
return rpc_unpack_result(await self.arecv_rpc_msg.__anext__(), encoding=encoding)
|
||||||
def __getattr__(self, key: str, commands: set={'TCPConnect'}):
|
def __getattr__(self, key: str, commands: set={'TCPConnect'}):
|
||||||
|
Loading…
Reference in New Issue
Block a user