diff --git a/docker_tags_getter/api/__init__.py b/docker_tags_getter/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/docker_tags_getter/api/v2/__init__.py b/docker_tags_getter/api/v2/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/docker_tags_getter/api/v2/repositories_api.py b/docker_tags_getter/api/v2/repositories_api.py new file mode 100644 index 0000000..e4f84c6 --- /dev/null +++ b/docker_tags_getter/api/v2/repositories_api.py @@ -0,0 +1,28 @@ +class RepositoriesAPI: + def __init__(self, fetcher, namespace): + self._fetcher = fetcher + self._url = f"https://hub.docker.com/v2/namespaces/{namespace}/repositories/" + + def get_list(self): + repos = [] + number = 1 + + while True: + page_url = f"{self._url}?page={number}" + status, json_data = self._fetcher.get(page_url) + + results = json_data["results"] + + names = list(map(lambda element:element["name"], results)) + repos += names + + # check for next page + next_page = json_data['next'] + + if next_page is None: + break + + number+=1 + + return repos +