@@ -386,6 +386,31 @@ def _get_resource(
386386 _target_object = _target_object ,
387387 )
388388
389+ def _list_resource (
390+ self ,
391+ path ,
392+ item_to_value ,
393+ page_token = None ,
394+ max_results = None ,
395+ extra_params = None ,
396+ page_start = page_iterator ._do_nothing_page_start ,
397+ timeout = _DEFAULT_TIMEOUT ,
398+ retry = DEFAULT_RETRY ,
399+ ):
400+ api_request = functools .partial (
401+ self ._connection .api_request , timeout = timeout , retry = retry
402+ )
403+ return page_iterator .HTTPIterator (
404+ client = self ,
405+ api_request = api_request ,
406+ path = path ,
407+ item_to_value = item_to_value ,
408+ page_token = page_token ,
409+ max_results = max_results ,
410+ extra_params = extra_params ,
411+ page_start = page_start ,
412+ )
413+
389414 def _patch_resource (
390415 self ,
391416 path ,
@@ -1214,14 +1239,9 @@ def list_blobs(
12141239 extra_params ["userProject" ] = bucket .user_project
12151240
12161241 path = bucket .path + "/o"
1217- api_request = functools .partial (
1218- self ._connection .api_request , timeout = timeout , retry = retry
1219- )
1220- iterator = page_iterator .HTTPIterator (
1221- client = self ,
1222- api_request = api_request ,
1223- path = path ,
1224- item_to_value = _item_to_blob ,
1242+ iterator = self ._list_resource (
1243+ path ,
1244+ _item_to_blob ,
12251245 page_token = page_token ,
12261246 max_results = max_results ,
12271247 extra_params = extra_params ,
@@ -1328,18 +1348,14 @@ def list_buckets(
13281348 if fields is not None :
13291349 extra_params ["fields" ] = fields
13301350
1331- api_request = functools .partial (
1332- self ._connection .api_request , retry = retry , timeout = timeout
1333- )
1334-
1335- return page_iterator .HTTPIterator (
1336- client = self ,
1337- api_request = api_request ,
1338- path = "/b" ,
1339- item_to_value = _item_to_bucket ,
1351+ return self ._list_resource (
1352+ "/b" ,
1353+ _item_to_bucket ,
13401354 page_token = page_token ,
13411355 max_results = max_results ,
13421356 extra_params = extra_params ,
1357+ timeout = timeout ,
1358+ retry = retry ,
13431359 )
13441360
13451361 def create_hmac_key (
@@ -1476,17 +1492,13 @@ def list_hmac_keys(
14761492 if user_project is not None :
14771493 extra_params ["userProject" ] = user_project
14781494
1479- api_request = functools .partial (
1480- self ._connection .api_request , timeout = timeout , retry = retry
1481- )
1482-
1483- return page_iterator .HTTPIterator (
1484- client = self ,
1485- api_request = api_request ,
1486- path = path ,
1487- item_to_value = _item_to_hmac_key_metadata ,
1495+ return self ._list_resource (
1496+ path ,
1497+ _item_to_hmac_key_metadata ,
14881498 max_results = max_results ,
14891499 extra_params = extra_params ,
1500+ timeout = timeout ,
1501+ retry = retry ,
14901502 )
14911503
14921504 def get_hmac_key_metadata (
0 commit comments