mirror of
https://github.com/python-kasa/python-kasa.git
synced 2024-12-22 19:23:34 +00:00
handle cancellation
This commit is contained in:
parent
8868c9b70d
commit
84dd2984ea
@ -80,10 +80,9 @@ class TPLinkSmartHomeProtocol:
|
||||
assert self.writer is not None # noqa: S101
|
||||
assert self.reader is not None # noqa: S101
|
||||
debug_log = _LOGGER.isEnabledFor(logging.DEBUG)
|
||||
encrypted = TPLinkSmartHomeProtocol.encrypt(request)
|
||||
if debug_log:
|
||||
_LOGGER.debug("%s >> (%s) %s", self.host, encrypted.hex(), request)
|
||||
self.writer.write(encrypted)
|
||||
_LOGGER.debug("%s >> %s", self.host, request)
|
||||
self.writer.write(TPLinkSmartHomeProtocol.encrypt(request))
|
||||
await self.writer.drain()
|
||||
|
||||
packed_block_size = await self.reader.readexactly(self.BLOCK_SIZE)
|
||||
@ -93,7 +92,7 @@ class TPLinkSmartHomeProtocol:
|
||||
response = TPLinkSmartHomeProtocol.decrypt(buffer)
|
||||
json_payload = json_loads(response)
|
||||
if debug_log:
|
||||
_LOGGER.debug("%s << (%s) %s", self.host, buffer.hex(), pf(json_payload))
|
||||
_LOGGER.debug("%s << %s", self.host, pf(json_payload))
|
||||
|
||||
return json_payload
|
||||
|
||||
@ -109,13 +108,8 @@ class TPLinkSmartHomeProtocol:
|
||||
"""Close the connection without waiting for the connection to close."""
|
||||
writer = self.writer
|
||||
self.reader = self.writer = None
|
||||
debug_log = _LOGGER.isEnabledFor(logging.DEBUG)
|
||||
if writer:
|
||||
if debug_log:
|
||||
_LOGGER.debug("%s: closing connection", self.host)
|
||||
writer.close()
|
||||
elif debug_log:
|
||||
_LOGGER.debug("%s: connection already closed", self.host)
|
||||
|
||||
def _reset(self) -> None:
|
||||
"""Clear any varibles that should not survive between loops."""
|
||||
@ -161,7 +155,7 @@ class TPLinkSmartHomeProtocol:
|
||||
# Likely something cancelled the task so we need to close the connection
|
||||
self.close_without_wait()
|
||||
_LOGGER.debug(
|
||||
"BaseException during connect, closing connection: %s",
|
||||
"%s: BaseException during connect, closing connection: %s",
|
||||
self.host,
|
||||
ex,
|
||||
)
|
||||
@ -187,7 +181,9 @@ class TPLinkSmartHomeProtocol:
|
||||
# Likely something cancelled the task so we need to close the connection
|
||||
self.close_without_wait()
|
||||
_LOGGER.debug(
|
||||
"BaseException during query, closing connection: %s", self.host, ex
|
||||
"%s: BaseException during query, closing connection: %s",
|
||||
self.host,
|
||||
ex,
|
||||
)
|
||||
raise
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user