diff --git a/meraki/aio/rest_session.py b/meraki/aio/rest_session.py index 25eb2bb..1eae47b 100644 --- a/meraki/aio/rest_session.py +++ b/meraki/aio/rest_session.py @@ -388,6 +388,8 @@ async def _get_pages_iterator( # just prepare the list if type(results) == list: return_items = results + elif type(results) == dict and "items" in results: + return_items = results["items"] # For event log endpoint elif type(results) == dict: if direction == "next": @@ -467,6 +469,11 @@ async def _get_pages_legacy( # Append that page's results, depending on the endpoint if type(results) == list: results.extend(await response.json(content_type = None)) + elif isinstance(results, dict) and "items" in results: + json_response = await response.json(content_type=None) + results.extend(json_response["items"]) + if "meta" in results: + results["meta"]["counts"]["items"]["remaining"] = json_response["meta"]["counts"]["items"]["remaining"] # For event log endpoint elif type(results) == dict: json_response = await response.json(content_type = None) diff --git a/meraki/rest_session.py b/meraki/rest_session.py index 7e9653f..d7aa0e3 100644 --- a/meraki/rest_session.py +++ b/meraki/rest_session.py @@ -377,6 +377,8 @@ def _get_pages_iterator( # just prepare the list if type(results) == list: return_items = results + elif type(results) == dict and "items" in results: + return_items = results["items"] # For event log endpoint elif type(results) == dict: if direction == "next": @@ -448,6 +450,10 @@ def _get_pages_legacy(self, metadata, url, params=None, total_pages=-1, directio # Append that page's results, depending on the endpoint if isinstance(results, list): results.extend(response.json()) + elif isinstance(results, dict) and "items" in results: + results["items"].extend(response.json()["items"]) + if "meta" in results: + results["meta"]["counts"]["items"]["remaining"] = response.json()["meta"]["counts"]["items"]["remaining"] # For event log endpoint elif isinstance(results, dict): try: