Skip to content

Commit

Permalink
Please pylint for pytradfri/api (#369)
Browse files Browse the repository at this point in the history
* Please pylint for api.

* Review comments.
  • Loading branch information
janiversen authored Oct 24, 2021
1 parent 58659e2 commit b786ac7
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 46 deletions.
60 changes: 30 additions & 30 deletions pytradfri/api/aiocoap_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,33 +102,33 @@ async def _get_response(self, msg):
"""Perform the request, get the response."""
try:
protocol = await self._get_protocol()
pr = protocol.request(msg)
r = await asyncio.wait_for(pr.response, timeout=5.0)
return pr, r
except CredentialsMissingError as e:
await self._reset_protocol(e)
pr_req = protocol.request(msg)
pr_resp = await pr_req.response
return pr_req, pr_resp
except CredentialsMissingError as exc:
await self._reset_protocol(exc)
await self._update_credentials()
raise ServerError("There was an error with the request.", e)
except ConstructionRenderableError as e:
raise ClientError("There was an error with the request.", e)
except asyncio.TimeoutError as e:
await self._reset_protocol(e)
raise ServerError("There was an error with the request.", exc) from exc
except ConstructionRenderableError as exc:
raise ClientError("There was an error with the request.", exc) from exc
except asyncio.TimeoutError as exc:
await self._reset_protocol(exc)
await self._update_credentials()
raise RequestTimeout("Request timed out.", e)
except RequestTimedOut as e:
await self._reset_protocol(e)
raise RequestTimeout("Request timed out.", exc)
except RequestTimedOut as exc:
await self._reset_protocol(exc)
await self._update_credentials()
raise RequestTimeout("Request timed out.", e)
raise RequestTimeout("Request timed out.", exc) from exc
except LibraryShutdown:
raise
except Error as e:
await self._reset_protocol(e)
except Error as exc:
await self._reset_protocol(exc)
await self._update_credentials()
raise ServerError("There was an error with the request.", e)
except asyncio.CancelledError as e:
await self._reset_protocol(e)
raise ServerError("There was an error with the request.", exc) from exc
except asyncio.CancelledError as exc:
await self._reset_protocol(exc)
await self._update_credentials()
raise e
raise exc

async def _execute(self, api_command):
"""Execute the command."""
Expand Down Expand Up @@ -214,23 +214,23 @@ async def _observe(self, api_command):
msg = Message(code=Code.GET, uri=url, observe=duration)

# Note that this is necessary to start observing
pr, r = await self._get_response(msg)
pr_req, pr_rsp = await self._get_response(msg)

api_command.result = _process_output(r)
api_command.result = _process_output(pr_rsp)

def success_callback(res):
api_command.result = _process_output(res)

def error_callback(ex):
if isinstance(ex, LibraryShutdown):
def error_callback(exc):
if isinstance(exc, LibraryShutdown):
_LOGGER.debug("Protocol is shutdown, stopping observation")
return
err_callback(ex)
err_callback(exc)

ob = pr.observation
ob.register_callback(success_callback)
ob.register_errback(error_callback)
self._observations_err_callbacks.append(ob.error)
observation = pr_req.observation
observation.register_callback(success_callback)
observation.register_errback(error_callback)
self._observations_err_callbacks.append(observation.error)

async def generate_psk(self, security_key):
"""Generate and set a psk from the security key."""
Expand Down Expand Up @@ -289,7 +289,7 @@ def _process_output(res, parse_json=True):
if not res.code.is_successful():
if 128 <= res.code < 160:
raise ClientError(output)
elif 160 <= res.code < 192:
if 160 <= res.code < 192:
raise ServerError(output)

if not parse_json:
Expand Down
32 changes: 16 additions & 16 deletions pytradfri/api/libcoap_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def _execute(self, api_command, *, timeout=None):

if api_command.observe:
self._observe(api_command)
return
return None

method = api_command.method
path = api_command.path
Expand Down Expand Up @@ -87,8 +87,9 @@ def _execute(self, api_command, *, timeout=None):
return_value = subprocess.check_output(command, **kwargs)
except subprocess.TimeoutExpired:
raise RequestTimeout() from None
except subprocess.CalledProcessError as err:
raise RequestError("Error executing request: {}".format(err)) from None
except subprocess.CalledProcessError as exc:
msg = f"Error executing request: {exc}"
raise RequestError(msg) from None

api_command.result = _process_output(return_value, parse_json)
return api_command.result
Expand All @@ -110,7 +111,7 @@ def _observe(self, api_command):
"""Observe an endpoint."""
path = api_command.path
duration = api_command.observe_duration
if duration <= 0:
if duration <= 0: # pylint: disable=consider-using-assignment-expr
raise ValueError("Observation duration has to be greater than 0.")
url = api_command.url(self._host)
err_callback = api_command.err_callback
Expand All @@ -129,9 +130,12 @@ def _observe(self, api_command):
"universal_newlines": True,
}
try:
proc = subprocess.Popen(command, **kwargs)
except subprocess.CalledProcessError as err:
raise RequestError("Error executing request: {}".format(err)) from None
proc = subprocess.Popen( # pylint: disable=consider-using-with
command, **kwargs
)
except subprocess.CalledProcessError as exc:
msg = f"Error executing request: {exc}"
raise RequestError(msg) from None

output = ""
open_obj = 0
Expand Down Expand Up @@ -182,23 +186,18 @@ def _process_output(output, parse_json=True):

if not output:
return None

elif "decrypt_verify" in output:
if "decrypt_verify" in output:
raise RequestError(
"Please compile coap-client without debug output. See "
"instructions at "
"https://github.com/ggravlingen/pytradfri#installation"
)

elif output.startswith(CLIENT_ERROR_PREFIX):
if output.startswith(CLIENT_ERROR_PREFIX):
raise ClientError(output)

elif output.startswith(SERVER_ERROR_PREFIX):
if output.startswith(SERVER_ERROR_PREFIX):
raise ServerError(output)

elif not parse_json:
if not parse_json:
return output

return json.loads(output)


Expand All @@ -214,5 +213,6 @@ def retry_api(*args, **kwargs):
except RequestTimeout:
if i == retries:
raise
return None

return retry_api

0 comments on commit b786ac7

Please sign in to comment.