mirror of
https://github.com/tomaae/homeassistant-mikrotik_router.git
synced 2025-07-10 01:14:33 +02:00
catching socket.timeout using tuple exception #8
This commit is contained in:
parent
b20d140383
commit
0f7ad23e3c
2 changed files with 15 additions and 2 deletions
|
@ -22,13 +22,13 @@ class SocketTransport:
|
||||||
"""
|
"""
|
||||||
data = bytearray()
|
data = bytearray()
|
||||||
while len(data) != length:
|
while len(data) != length:
|
||||||
|
tmp = None
|
||||||
try:
|
try:
|
||||||
tmp = self.sock.recv((length - len(data)))
|
tmp = self.sock.recv((length - len(data)))
|
||||||
except:
|
except:
|
||||||
raise ConnectionClosed('Socket recv failed.')
|
raise ConnectionClosed('Socket recv failed.')
|
||||||
finally:
|
|
||||||
data += tmp
|
|
||||||
|
|
||||||
|
data += tmp
|
||||||
if not data:
|
if not data:
|
||||||
raise ConnectionClosed('Connection unexpectedly closed.')
|
raise ConnectionClosed('Connection unexpectedly closed.')
|
||||||
return data
|
return data
|
||||||
|
|
|
@ -172,6 +172,19 @@ class MikrotikAPI:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
try:
|
||||||
|
tuple(response)
|
||||||
|
except librouteros_custom.exceptions.ConnectionClosed as api_error:
|
||||||
|
_LOGGER.error("Mikrotik %s error while path %s", self._host, api_error)
|
||||||
|
self.disconnect()
|
||||||
|
self.lock.release()
|
||||||
|
return None
|
||||||
|
except:
|
||||||
|
_LOGGER.error("Mikrotik %s error while path %s", self._host, "unknown")
|
||||||
|
self.disconnect()
|
||||||
|
self.lock.release()
|
||||||
|
return None
|
||||||
|
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
return response if response else None
|
return response if response else None
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue