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'
|
||||
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)
|
||||
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('_', ' ')
|
||||
with self.lock:
|
||||
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))
|
||||
if (res := rpc_unpack_result(next(self.recv_rpc_msg), encoding=encoding)) != '1':
|
||||
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))
|
||||
return rpc_unpack_result(next(self.recv_rpc_msg), encoding=encoding)
|
||||
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))
|
||||
if (res := rpc_unpack_result(await self.arecv_rpc_msg.__anext__(), encoding=encoding)) != '1':
|
||||
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))
|
||||
return rpc_unpack_result(await self.arecv_rpc_msg.__anext__(), encoding=encoding)
|
||||
def __getattr__(self, key: str, commands: set={'TCPConnect'}):
|
||||
|
Loading…
Reference in New Issue
Block a user