Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

Commit dd1a6a9

Browse files
authored
Merge branch 'master' into release-v1.38.1
2 parents a3d214f + 6bd8a20 commit dd1a6a9

4 files changed

Lines changed: 541 additions & 506 deletions

File tree

google/cloud/storage/bucket.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,12 @@
1717
import base64
1818
import copy
1919
import datetime
20-
import functools
2120
import json
2221
import warnings
2322

2423
import six
2524
from six.moves.urllib.parse import urlsplit
2625

27-
from google.api_core import page_iterator
2826
from google.api_core import datetime_helpers
2927
from google.cloud._helpers import _datetime_to_rfc3339
3028
from google.cloud._helpers import _NOW
@@ -1392,14 +1390,8 @@ def list_notifications(
13921390
"""
13931391
client = self._require_client(client)
13941392
path = self.path + "/notificationConfigs"
1395-
api_request = functools.partial(
1396-
client._connection.api_request, timeout=timeout, retry=retry
1397-
)
1398-
iterator = page_iterator.HTTPIterator(
1399-
client=client,
1400-
api_request=api_request,
1401-
path=path,
1402-
item_to_value=_item_to_notification,
1393+
iterator = client._list_resource(
1394+
path, _item_to_notification, timeout=timeout, retry=retry,
14031395
)
14041396
iterator.bucket = self
14051397
return iterator

google/cloud/storage/client.py

Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)