updated exceptions in api for only needed parts

This commit is contained in:
tomaae 2019-12-06 01:30:07 +01:00
parent d991d14a35
commit fc9939aeab

View file

@ -127,37 +127,37 @@ class MikrotikAPI:
if not self.connect(): if not self.connect():
return None return None
try: response = self.path(path)
response = self.path(path) if response is None:
if response is None: return False
return False
for tmp in response: for tmp in response:
if param not in tmp: if param not in tmp:
continue continue
if tmp[param] != value: if tmp[param] != value:
continue continue
params = { params = {
'.id': tmp['.id'], '.id': tmp['.id'],
mod_param: mod_value mod_param: mod_value
} }
try:
response.update(**params) response.update(**params)
except librouteros.exceptions.ConnectionClosed: except librouteros.exceptions.ConnectionClosed:
_LOGGER.error("Mikrotik %s connection closed", self._host) _LOGGER.error("Mikrotik %s connection closed", self._host)
self._connected = False self._connected = False
self._connection = None self._connection = None
return None return None
except ( except (
librouteros.exceptions.TrapError, librouteros.exceptions.TrapError,
librouteros.exceptions.MultiTrapError, librouteros.exceptions.MultiTrapError,
librouteros.exceptions.ProtocolError, librouteros.exceptions.ProtocolError,
librouteros.exceptions.FatalError librouteros.exceptions.FatalError
) as api_error: ) as api_error:
_LOGGER.error("Mikrotik %s connection error %s", self._host, api_error) _LOGGER.error("Mikrotik %s connection error %s", self._host, api_error)
return None return None
return True return True
@ -170,32 +170,33 @@ class MikrotikAPI:
if not self.connect(): if not self.connect():
return None return None
try: response = self.path('/system/script')
response = self.path('/system/script') if response is None:
if response is None: return False
return False
for tmp in response: for tmp in response:
if 'name' not in tmp: if 'name' not in tmp:
continue continue
if tmp['name'] != name: if tmp['name'] != name:
continue continue
try:
run = response('run', **{'.id': tmp['.id']}) run = response('run', **{'.id': tmp['.id']})
tuple(run) except librouteros.exceptions.ConnectionClosed:
except librouteros.exceptions.ConnectionClosed: _LOGGER.error("Mikrotik %s connection closed", self._host)
_LOGGER.error("Mikrotik %s connection closed", self._host) self._connected = False
self._connected = False self._connection = None
self._connection = None return None
return None except (
except ( librouteros.exceptions.TrapError,
librouteros.exceptions.TrapError, librouteros.exceptions.MultiTrapError,
librouteros.exceptions.MultiTrapError, librouteros.exceptions.ProtocolError,
librouteros.exceptions.ProtocolError, librouteros.exceptions.FatalError
librouteros.exceptions.FatalError ) as api_error:
) as api_error: _LOGGER.error("Mikrotik %s connection error %s", self._host, api_error)
_LOGGER.error("Mikrotik %s connection error %s", self._host, api_error) return None
return None
tuple(run)
return True return True