@@ -19,16 +19,12 @@ def request_builder(self):
1919 def page_size (self ):
2020 return self ._page_size
2121
22- def __init__ (self , api_call , page_creator , paginated_items_converter ):
23-
24- if page_creator is None :
25- raise ValueError ('page_creator cannot be None' )
22+ def __init__ (self , api_call , paginated_items_converter ):
2623
2724 if paginated_items_converter is None :
2825 raise ValueError ('paginated_items_converter cannot be None' )
2926
3027 self ._api_call = copy .deepcopy (api_call )
31- self ._page_creator = page_creator
3228 self ._paginated_items_converter = paginated_items_converter
3329 self ._initial_request_builder = api_call .request_builder
3430 self ._pagination_strategies = self ._api_call .get_pagination_stategies
@@ -38,7 +34,7 @@ def __init__(self, api_call, page_creator, paginated_items_converter):
3834 http_callback = self ._http_call_context )
3935 self ._global_configuration = self ._api_call .global_configuration .clone_with (
4036 http_client_configuration = _http_client_configuration )
41- self ._page = None
37+ self ._paged_response = None
4238 self ._items = []
4339 self ._page_size = 0
4440 self ._current_index = 0
@@ -52,8 +48,8 @@ def __next__(self):
5248 self ._current_index += 1
5349 return item
5450
55- _ , self ._page = self ._fetch_next_page ()
56- self ._items = self ._paginated_items_converter (self ._page )
51+ self ._paged_response = self ._fetch_next_page ()
52+ self ._items = self ._paginated_items_converter (self ._paged_response . data )
5753 if not self ._items :
5854 raise StopIteration
5955 self ._page_size , self ._current_index = len (self ._items ), 0
@@ -69,14 +65,14 @@ def pages(self):
6965 paginated_data = self ._get_new_self_instance ()
7066
7167 while True :
72- metadata , paginated_data ._page = paginated_data ._fetch_next_page ()
73- if not paginated_data ._page or not metadata :
68+ paginated_data ._paged_response = paginated_data ._fetch_next_page ()
69+ if not paginated_data ._paged_response :
7470 break
75- paginated_data ._items = self ._paginated_items_converter (paginated_data ._page )
71+ paginated_data ._items = self ._paginated_items_converter (paginated_data ._paged_response )
7672 if not paginated_data ._items :
7773 break
7874 paginated_data ._page_size = len (paginated_data ._items )
79- yield self . _page_creator ( metadata , paginated_data ._page )
75+ yield paginated_data ._paged_response
8076
8177 def _fetch_next_page (self ):
8278 for pagination_strategy in self ._pagination_strategies :
@@ -87,13 +83,13 @@ def _fetch_next_page(self):
8783 response = self ._api_call .clone (
8884 global_configuration = self ._global_configuration , request_builder = request_builder
8985 ).execute ()
90- return pagination_strategy .apply_metadata (response ), response
86+ return pagination_strategy .apply_metadata (response )
9187 except Exception as ex :
9288 raise ex
9389 return []
9490
9591 def _get_new_self_instance (self ):
9692 return PaginatedData (
97- self ._api_call .clone (request_builder = self ._initial_request_builder ), self . _page_creator ,
93+ self ._api_call .clone (request_builder = self ._initial_request_builder ),
9894 self ._paginated_items_converter
9995 )
0 commit comments