File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44
55class CursorPagination (PaginationStrategy ):
66
7- def __init__ (self , output , input_ , metadata_creator ):
8- super ().__init__ (metadata_creator )
7+ def __init__ (self , output , input_ , metadata_wrapper ):
8+ super ().__init__ (metadata_wrapper )
99
1010 if input_ is None :
1111 raise ValueError ("Input pointer for cursor based pagination cannot be None" )
@@ -35,8 +35,8 @@ def apply(self, paginated_data):
3535
3636 return self .get_updated_request_builder (request_builder , self ._input , self ._cursor_value )
3737
38- def apply_metadata (self , page ):
39- return self ._metadata_creator (self ._cursor_value , page )
38+ def apply_metadata_wrapper (self , paged_response ):
39+ return self ._metadata_wrapper (self ._cursor_value , paged_response )
4040
4141 @staticmethod
4242 def _get_initial_cursor_value (request_builder , input_pointer ):
Original file line number Diff line number Diff line change 66class LinkPagination (PaginationStrategy ):
77 """Pagination manager implementation for link-based pagination."""
88
9- def __init__ (self , next_link_pointer , metadata_creator ):
10- super ().__init__ (metadata_creator )
9+ def __init__ (self , next_link_pointer , metadata_wrapper ):
10+ super ().__init__ (metadata_wrapper )
1111
1212 if next_link_pointer is None :
1313 raise ValueError ("Next link pointer for cursor based pagination cannot be None" )
@@ -39,5 +39,5 @@ def apply(self, paginated_data):
3939 query_params = updated_query_params
4040 )
4141
42- def apply_metadata (self , page ):
43- return self ._metadata_creator (self ._next_link , page )
42+ def apply_metadata_wrapper (self , paged_response ):
43+ return self ._metadata_wrapper (self ._next_link , paged_response )
Original file line number Diff line number Diff line change 66class OffsetPagination (PaginationStrategy ):
77 """Pagination manager implementation for offset-based pagination."""
88
9- def __init__ (self , input_ , metadata_creator ):
9+ def __init__ (self , input_ , metadata_wrapper ):
1010 """
1111 Initializes a new instance of the OffsetPagination class.
1212
1313 Args:
1414 input_ (str): JSON pointer to the request field representing the offset.
1515 """
16- super ().__init__ (metadata_creator )
16+ super ().__init__ (metadata_wrapper )
1717
1818 if input_ is None :
1919 raise ValueError ("Input pointer for offset based pagination cannot be None" )
@@ -34,8 +34,8 @@ def apply(self, paginated_data):
3434
3535 return self .get_updated_request_builder (request_builder , self ._input , self ._offset )
3636
37- def apply_metadata (self , page ):
38- return self ._metadata_creator (self ._offset , page )
37+ def apply_metadata_wrapper (self , page_response ):
38+ return self ._metadata_wrapper (self ._offset , page_response )
3939
4040 def _get_initial_offset (self , request_builder ):
4141 path_prefix , field_path = ApiHelper .split_into_parts (self ._input )
Original file line number Diff line number Diff line change 33
44class PagePagination (PaginationStrategy ):
55
6- def __init__ (self , input_ , metadata_creator ):
7- super ().__init__ (metadata_creator )
6+ def __init__ (self , input_ , metadata_wrapper ):
7+ super ().__init__ (metadata_wrapper )
88
99 if input_ is None :
1010 raise ValueError ("Input pointer for page based pagination cannot be None" )
@@ -24,8 +24,8 @@ def apply(self, paginated_data):
2424
2525 return self .get_updated_request_builder (request_builder , self ._input , self ._page_number )
2626
27- def apply_metadata (self , page ):
28- return self ._metadata_creator (self ._page_number , page )
27+ def apply_metadata_wrapper (self , paged_response ):
28+ return self ._metadata_wrapper (self ._page_number , paged_response )
2929
3030 def _get_initial_page_offset (self , request_builder ):
3131 path_prefix , field_path = ApiHelper .split_into_parts (self ._input )
Original file line number Diff line number Diff line change @@ -49,7 +49,7 @@ def __next__(self):
4949 return item
5050
5151 self ._paged_response = self ._fetch_next_page ()
52- self ._items = self ._paginated_items_converter (self ._paged_response .data )
52+ self ._items = self ._paginated_items_converter (self ._paged_response .body )
5353 if not self ._items :
5454 raise StopIteration
5555 self ._page_size , self ._current_index = len (self ._items ), 0
@@ -66,9 +66,7 @@ def pages(self):
6666
6767 while True :
6868 paginated_data ._paged_response = paginated_data ._fetch_next_page ()
69- if not paginated_data ._paged_response :
70- break
71- paginated_data ._items = self ._paginated_items_converter (paginated_data ._paged_response )
69+ paginated_data ._items = self ._paginated_items_converter (paginated_data ._paged_response .body )
7270 if not paginated_data ._items :
7371 break
7472 paginated_data ._page_size = len (paginated_data ._items )
@@ -83,7 +81,7 @@ def _fetch_next_page(self):
8381 response = self ._api_call .clone (
8482 global_configuration = self ._global_configuration , request_builder = request_builder
8583 ).execute ()
86- return pagination_strategy .apply_metadata (response )
84+ return pagination_strategy .apply_metadata_wrapper (response )
8785 except Exception as ex :
8886 raise ex
8987 return []
Original file line number Diff line number Diff line change @@ -11,11 +11,11 @@ class PaginationStrategy(ABC):
1111 to provide specific pagination management logic for paginated API responses.
1212 """
1313
14- def __init__ (self , metadata_creator ):
15- if metadata_creator is None :
16- raise ValueError ("Metadata creator for offset based pagination cannot be None" )
14+ def __init__ (self , metadata_wrapper ):
15+ if metadata_wrapper is None :
16+ raise ValueError ("Metadata wrapper for the pagination cannot be None" )
1717
18- self ._metadata_creator = metadata_creator
18+ self ._metadata_wrapper = metadata_wrapper
1919
2020 @abstractmethod
2121 def apply (self , paginated_data ):
@@ -31,7 +31,7 @@ def apply(self, paginated_data):
3131 ...
3232
3333 @abstractmethod
34- def apply_metadata (self , page ):
34+ def apply_metadata_wrapper (self , paged_response ):
3535 ...
3636
3737 @staticmethod
You can’t perform that action at this time.
0 commit comments