From 6b6589e7a4e47e6e132e1bced9cb707bd994f04c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Guillot?= Date: Fri, 26 Oct 2018 20:22:06 -0700 Subject: [PATCH] Make discover() method more flexible --- miniflux.py | 6 ++++-- tests/test_client.py | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/miniflux.py b/miniflux.py index 9aee541..37dea12 100644 --- a/miniflux.py +++ b/miniflux.py @@ -82,9 +82,11 @@ def import_feeds(self, opml): return response.json() raise ClientError(response) - def discover(self, website_url, username='', password=''): + def discover(self, website_url, **kwargs): endpoint = self._get_endpoint('/discover') - data = {'url': website_url, 'username': username, 'password': password} + data = dict(url=website_url) + data.update(kwargs) + response = requests.post(endpoint, auth=self._auth, data=json.dumps(data), timeout=self._timeout) if response.status_code == 200: return response.json() diff --git a/tests/test_client.py b/tests/test_client.py index 96bf28e..8f8024a 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -136,8 +136,8 @@ def test_discover(): payload = json.loads(kwargs.get('data')) assert payload.get('url') == "http://example.org/" - assert payload.get('username') == "" - assert payload.get('password') == "" + assert payload.get('username') is None + assert payload.get('password') is None assert result == expected_result @@ -152,7 +152,7 @@ def test_discover_with_credentials(): requests.post.return_value = response client = miniflux.Client("http://localhost", "username", "password") - result = client.discover("http://example.org/", "foobar", "secret") + result = client.discover("http://example.org/", username="foobar", password="secret", user_agent="Bot") requests.post.assert_called_once_with('http://localhost/v1/discover', auth=('username', 'password'), @@ -165,6 +165,7 @@ def test_discover_with_credentials(): assert payload.get('url') == "http://example.org/" assert payload.get('username') == "foobar" assert payload.get('password') == "secret" + assert payload.get('user_agent') == "Bot" assert result == expected_result