LINT fixes

This commit is contained in:
Fabio Manganiello 2019-12-05 00:37:36 +01:00
parent 08119add97
commit 0f0f8f8a94

View file

@ -3,6 +3,7 @@ import requests
from platypush.message import Message from platypush.message import Message
from platypush.plugins import Plugin, action from platypush.plugins import Plugin, action
class HttpRequestPlugin(Plugin): class HttpRequestPlugin(Plugin):
""" """
Plugin for executing custom HTTP requests. Plugin for executing custom HTTP requests.
@ -40,10 +41,11 @@ class HttpRequestPlugin(Plugin):
} }
""" """
def __init__(self, *args, **kwargs): def __init__(self, **kwargs):
super().__init__(*args, **kwargs) super().__init__(**kwargs)
def _exec(self, method, url, output='text', **kwargs): @staticmethod
def _exec(method, url, output='text', **kwargs):
""" Available output types: text (default), json, binary """ """ Available output types: text (default), json, binary """
if 'username' in kwargs and 'password' in kwargs: if 'username' in kwargs and 'password' in kwargs:
@ -53,19 +55,22 @@ class HttpRequestPlugin(Plugin):
response = method(url, **kwargs) response = method(url, **kwargs)
response.raise_for_status() response.raise_for_status()
if output == 'json': output = response.json() if output == 'json':
if output == 'binary': output = response.content output = response.json()
else: output = response.text if output == 'binary':
output = response.content
else:
output = response.text
# noinspection PyBroadException
try: try:
# If the response is a Platypush JSON, extract it # If the response is a Platypush JSON, extract it
output = Message.build(output) output = Message.build(output)
except Exception as e: except:
pass pass
return output return output
@action @action
def get(self, url, **kwargs): def get(self, url, **kwargs):
""" """
@ -74,13 +79,14 @@ class HttpRequestPlugin(Plugin):
:param url: Target URL :param url: Target URL
:type url: str :type url: str
:param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including but not limited to query params, data, JSON, headers etc. (see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request) :param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including
but not limited to query params, data, JSON, headers etc.
(see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request)
:type kwargs: dict :type kwargs: dict
""" """
return self._exec(method='get', url=url, **kwargs) return self._exec(method='get', url=url, **kwargs)
@action @action
def post(self, url, **kwargs): def post(self, url, **kwargs):
""" """
@ -89,13 +95,14 @@ class HttpRequestPlugin(Plugin):
:param url: Target URL :param url: Target URL
:type url: str :type url: str
:param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including but not limited to query params, data, JSON, headers etc. (see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request) :param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including
but not limited to query params, data, JSON, headers etc.
(see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request)
:type kwargs: dict :type kwargs: dict
""" """
return self._exec(method='post', url=url, **kwargs) return self._exec(method='post', url=url, **kwargs)
@action @action
def head(self, url, **kwargs): def head(self, url, **kwargs):
""" """
@ -104,13 +111,14 @@ class HttpRequestPlugin(Plugin):
:param url: Target URL :param url: Target URL
:type url: str :type url: str
:param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including but not limited to query params, data, JSON, headers etc. (see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request) :param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including
but not limited to query params, data, JSON, headers etc.
(see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request)
:type kwargs: dict :type kwargs: dict
""" """
return self._exec(method='head', url=url, **kwargs) return self._exec(method='head', url=url, **kwargs)
@action @action
def put(self, url, **kwargs): def put(self, url, **kwargs):
""" """
@ -119,13 +127,14 @@ class HttpRequestPlugin(Plugin):
:param url: Target URL :param url: Target URL
:type url: str :type url: str
:param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including but not limited to query params, data, JSON, headers etc. (see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request) :param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including
but not limited to query params, data, JSON, headers etc.
(see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request)
:type kwargs: dict :type kwargs: dict
""" """
return self._exec(method='put', url=url, **kwargs) return self._exec(method='put', url=url, **kwargs)
@action @action
def delete(self, url, **kwargs): def delete(self, url, **kwargs):
""" """
@ -134,13 +143,14 @@ class HttpRequestPlugin(Plugin):
:param url: Target URL :param url: Target URL
:type url: str :type url: str
:param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including but not limited to query params, data, JSON, headers etc. (see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request) :param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including
but not limited to query params, data, JSON, headers etc.
(see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request)
:type kwargs: dict :type kwargs: dict
""" """
return self._exec(method='delete', url=url, **kwargs) return self._exec(method='delete', url=url, **kwargs)
@action @action
def options(self, url, **kwargs): def options(self, url, **kwargs):
""" """
@ -149,12 +159,12 @@ class HttpRequestPlugin(Plugin):
:param url: Target URL :param url: Target URL
:type url: str :type url: str
:param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including but not limited to query params, data, JSON, headers etc. (see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request) :param kwargs: Additional arguments that will be transparently provided to the ``requests`` object, including
but not limited to query params, data, JSON, headers etc.
(see http://docs.python-requests.org/en/master/user/quickstart/#make-a-request)
:type kwargs: dict :type kwargs: dict
""" """
return self._exec(method='options', url=url, **kwargs) return self._exec(method='options', url=url, **kwargs)
# vim:sw=4:ts=4:et: # vim:sw=4:ts=4:et: