@@ -770,14 +770,15 @@ async def _sequential_list_objects_helper(
770770 prefix ,
771771 versions ,
772772 max_results ,
773+ items_per_call = 1000 ,
773774 ):
774775 """
775776 Sequential list objects within the start and end offset range.
776777 """
777-
778+ max_results = max_results if max_results else 10_000_000
778779 prefixes = []
779780 items = []
780-
781+ num_items = min ( items_per_call , max_results , 1000 )
781782 page = await self ._call (
782783 "GET" ,
783784 "b/{}/o" ,
@@ -786,7 +787,7 @@ async def _sequential_list_objects_helper(
786787 prefix = prefix ,
787788 startOffset = start_offset ,
788789 endOffset = end_offset ,
789- maxResults = max_results ,
790+ maxResults = num_items ,
790791 json_out = True ,
791792 versions = "true" if versions else None ,
792793 )
@@ -795,7 +796,8 @@ async def _sequential_list_objects_helper(
795796 items .extend (page .get ("items" , []))
796797 next_page_token = page .get ("nextPageToken" , None )
797798
798- while next_page_token is not None :
799+ while len (items ) < max_results and next_page_token is not None :
800+ num_items = min (items_per_call , max_results - len (items ), 1000 )
799801 page = await self ._call (
800802 "GET" ,
801803 "b/{}/o" ,
@@ -804,7 +806,7 @@ async def _sequential_list_objects_helper(
804806 prefix = prefix ,
805807 startOffset = start_offset ,
806808 endOffset = end_offset ,
807- maxResults = max_results ,
809+ maxResults = num_items ,
808810 pageToken = next_page_token ,
809811 json_out = True ,
810812 versions = "true" if versions else None ,
0 commit comments