diff options
author | Anca Iordache <aiordache@users.noreply.github.com> | 2021-04-06 14:43:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-06 14:43:07 +0100 |
commit | 18fdc23b7cca98408f88beec3426c27070e9393f (patch) | |
tree | 6ef135d309e02940b96594f59c043d5549d8df26 | |
parent | 8813c3d2e0518687ff068cbac1cbaa7283d04772 (diff) | |
parent | 7d316641a3da5ece9a29471390ef965d13b160b7 (diff) | |
download | docker-py-18fdc23b7cca98408f88beec3426c27070e9393f.tar.gz |
Merge pull request #2476 from feliperuhland/add-search-images-limit
Add limit parameter to image search endpoint
-rw-r--r-- | docker/api/image.py | 9 | ||||
-rw-r--r-- | tests/unit/models_images_test.py | 5 |
2 files changed, 12 insertions, 2 deletions
diff --git a/docker/api/image.py b/docker/api/image.py index db806c4..772101f 100644 --- a/docker/api/image.py +++ b/docker/api/image.py @@ -509,13 +509,14 @@ class ImageApiMixin(object): res = self._delete(self._url("/images/{0}", image), params=params) return self._result(res, True) - def search(self, term): + def search(self, term, limit=None): """ Search for images on Docker Hub. Similar to the ``docker search`` command. Args: term (str): A term to search for. + limit (int): The maximum number of results to return. Returns: (list of dicts): The response of the search. @@ -524,8 +525,12 @@ class ImageApiMixin(object): :py:class:`docker.errors.APIError` If the server returns an error. """ + params = {'term': term} + if limit is not None: + params['limit'] = limit + return self._result( - self._get(self._url("/images/search"), params={'term': term}), + self._get(self._url("/images/search"), params=params), True ) diff --git a/tests/unit/models_images_test.py b/tests/unit/models_images_test.py index e3d070c..f3ca0be 100644 --- a/tests/unit/models_images_test.py +++ b/tests/unit/models_images_test.py @@ -112,6 +112,11 @@ class ImageCollectionTest(unittest.TestCase): client.images.search('test') client.api.search.assert_called_with('test') + def test_search_limit(self): + client = make_fake_client() + client.images.search('test', limit=5) + client.api.search.assert_called_with('test', limit=5) + class ImageTest(unittest.TestCase): def test_short_id(self): |