Skip to content

Commit 4a46b54

Browse files
author
Jon Wayne Parrott
authored
Move google.cloud.iterator to google.api.core.page_iterator (#3770)
* Move google.cloud.iterator to google.api.core.page_iterator * Re-write tests to pytest style. * Make GAXIterator private- it will soon be removed. * Pass api_request into HTTPIterator to avoid accessing private members * BigQuery: use google.api.core.page_iterator * DNS: use google.api.core.page_iterator * Logging: use google.api.core.page_iterator * PubSub: use google.api.core.page_iterator * Resource manager: use google.api.core.page_iterator * Runtimeconfig: use google.api.core.page_iterator * logging: use google.api.core._GAXIterator * Storage: use google.api.core.page_iterator * Pubsub: use google.api.core._GAXIterator * Trace: use google.api.core._GAXIterator * Spanner: use google.api.core._GAXIterator
1 parent 1a6dc33 commit 4a46b54

File tree

4 files changed

+49
-34
lines changed

4 files changed

+49
-34
lines changed

packages/google-cloud-logging/google/cloud/logging/_gax.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import functools
1818

19+
from google.api.core import page_iterator
1920
from google.cloud.gapic.logging.v2.config_service_v2_client import (
2021
ConfigServiceV2Client)
2122
from google.cloud.gapic.logging.v2.logging_service_v2_client import (
@@ -37,7 +38,6 @@
3738
from google.cloud._http import DEFAULT_USER_AGENT
3839
from google.cloud.exceptions import Conflict
3940
from google.cloud.exceptions import NotFound
40-
from google.cloud.iterator import GAXIterator
4141
from google.cloud.logging import __version__
4242
from google.cloud.logging._helpers import entry_from_resource
4343
from google.cloud.logging.sink import Sink
@@ -84,7 +84,7 @@ def list_entries(self, projects, filter_='', order_by='',
8484
passed, the API will return the first page of
8585
entries.
8686
87-
:rtype: :class:`~google.cloud.iterator.Iterator`
87+
:rtype: :class:`~google.api.core.page_iterator.Iterator`
8888
:returns: Iterator of :class:`~google.cloud.logging.entries._BaseEntry`
8989
accessible to the current API.
9090
"""
@@ -101,7 +101,8 @@ def list_entries(self, projects, filter_='', order_by='',
101101
loggers = {}
102102
item_to_value = functools.partial(
103103
_item_to_entry, loggers=loggers)
104-
return GAXIterator(self._client, page_iter, item_to_value)
104+
return page_iterator._GAXIterator(
105+
self._client, page_iter, item_to_value)
105106

106107
def write_entries(self, entries, logger_name=None, resource=None,
107108
labels=None):
@@ -188,7 +189,8 @@ def list_sinks(self, project, page_size=0, page_token=None):
188189
path = 'projects/%s' % (project,)
189190
page_iter = self._gax_api.list_sinks(path, page_size=page_size,
190191
options=options)
191-
return GAXIterator(self._client, page_iter, _item_to_sink)
192+
return page_iterator._GAXIterator(
193+
self._client, page_iter, _item_to_sink)
192194

193195
def sink_create(self, project, sink_name, filter_, destination):
194196
"""API call: create a sink resource.
@@ -330,7 +332,7 @@ def list_metrics(self, project, page_size=0, page_token=None):
330332
passed, the API will return the first page of
331333
metrics.
332334
333-
:rtype: :class:`~google.cloud.iterator.Iterator`
335+
:rtype: :class:`~google.api.core.page_iterator.Iterator`
334336
:returns: Iterator of
335337
:class:`~google.cloud.logging.metric.Metric`
336338
accessible to the current API.
@@ -341,7 +343,8 @@ def list_metrics(self, project, page_size=0, page_token=None):
341343
path = 'projects/%s' % (project,)
342344
page_iter = self._gax_api.list_log_metrics(
343345
path, page_size=page_size, options=options)
344-
return GAXIterator(self._client, page_iter, _item_to_metric)
346+
return page_iterator._GAXIterator(
347+
self._client, page_iter, _item_to_metric)
345348

346349
def metric_create(self, project, metric_name, filter_, description):
347350
"""API call: create a metric resource.
@@ -507,12 +510,12 @@ def _item_to_entry(iterator, entry_pb, loggers):
507510
508511
This method does not have the correct signature to be used as
509512
the ``item_to_value`` argument to
510-
:class:`~google.cloud.iterator.Iterator`. It is intended to be
513+
:class:`~google.api.core.page_iterator.Iterator`. It is intended to be
511514
patched with a mutable ``loggers`` argument that can be updated
512515
on subsequent calls. For an example, see how the method is
513516
used above in :meth:`_LoggingAPI.list_entries`.
514517
515-
:type iterator: :class:`~google.cloud.iterator.Iterator`
518+
:type iterator: :class:`~google.api.core.page_iterator.Iterator`
516519
:param iterator: The iterator that is currently in use.
517520
518521
:type entry_pb: :class:`.log_entry_pb2.LogEntry`
@@ -534,7 +537,7 @@ def _item_to_entry(iterator, entry_pb, loggers):
534537
def _item_to_sink(iterator, log_sink_pb):
535538
"""Convert a sink protobuf to the native object.
536539
537-
:type iterator: :class:`~google.cloud.iterator.Iterator`
540+
:type iterator: :class:`~google.api.core.page_iterator.Iterator`
538541
:param iterator: The iterator that is currently in use.
539542
540543
:type log_sink_pb:
@@ -553,7 +556,7 @@ def _item_to_sink(iterator, log_sink_pb):
553556
def _item_to_metric(iterator, log_metric_pb):
554557
"""Convert a metric protobuf to the native object.
555558
556-
:type iterator: :class:`~google.cloud.iterator.Iterator`
559+
:type iterator: :class:`~google.api.core.page_iterator.Iterator`
557560
:param iterator: The iterator that is currently in use.
558561
559562
:type log_metric_pb:

packages/google-cloud-logging/google/cloud/logging/_http.py

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
import functools
1818

19+
from google.api.core import page_iterator
1920
from google.cloud import _http
20-
from google.cloud.iterator import HTTPIterator
2121

2222
from google.cloud.logging import __version__
2323
from google.cloud.logging._helpers import entry_from_resource
@@ -93,7 +93,7 @@ def list_entries(self, projects, filter_=None, order_by=None,
9393
passed, the API will return the first page of
9494
entries.
9595
96-
:rtype: :class:`~google.cloud.iterator.Iterator`
96+
:rtype: :class:`~google.api.core.page_iterator.Iterator`
9797
:returns: Iterator of :class:`~google.cloud.logging.entries._BaseEntry`
9898
accessible to the current API.
9999
"""
@@ -115,10 +115,14 @@ def list_entries(self, projects, filter_=None, order_by=None,
115115
loggers = {}
116116
item_to_value = functools.partial(
117117
_item_to_entry, loggers=loggers)
118-
iterator = HTTPIterator(
119-
client=self._client, path=path,
120-
item_to_value=item_to_value, items_key='entries',
121-
page_token=page_token, extra_params=extra_params)
118+
iterator = page_iterator.HTTPIterator(
119+
client=self._client,
120+
api_request=self._client._connection.api_request,
121+
path=path,
122+
item_to_value=item_to_value,
123+
items_key='entries',
124+
page_token=page_token,
125+
extra_params=extra_params)
122126
# This method uses POST to make a read-only request.
123127
iterator._HTTP_METHOD = 'POST'
124128
return iterator
@@ -205,7 +209,7 @@ def list_sinks(self, project, page_size=None, page_token=None):
205209
passed, the API will return the first page of
206210
sinks.
207211
208-
:rtype: :class:`~google.cloud.iterator.Iterator`
212+
:rtype: :class:`~google.api.core.page_iterator.Iterator`
209213
:returns: Iterator of
210214
:class:`~google.cloud.logging.sink.Sink`
211215
accessible to the current API.
@@ -216,10 +220,14 @@ def list_sinks(self, project, page_size=None, page_token=None):
216220
extra_params['pageSize'] = page_size
217221

218222
path = '/projects/%s/sinks' % (project,)
219-
return HTTPIterator(
220-
client=self._client, path=path,
221-
item_to_value=_item_to_sink, items_key='sinks',
222-
page_token=page_token, extra_params=extra_params)
223+
return page_iterator.HTTPIterator(
224+
client=self._client,
225+
api_request=self._client._connection.api_request,
226+
path=path,
227+
item_to_value=_item_to_sink,
228+
items_key='sinks',
229+
page_token=page_token,
230+
extra_params=extra_params)
223231

224232
def sink_create(self, project, sink_name, filter_, destination):
225233
"""API call: create a sink resource.
@@ -345,7 +353,7 @@ def list_metrics(self, project, page_size=None, page_token=None):
345353
passed, the API will return the first page of
346354
metrics.
347355
348-
:rtype: :class:`~google.cloud.iterator.Iterator`
356+
:rtype: :class:`~google.api.core.page_iterator.Iterator`
349357
:returns: Iterator of
350358
:class:`~google.cloud.logging.metric.Metric`
351359
accessible to the current API.
@@ -356,10 +364,14 @@ def list_metrics(self, project, page_size=None, page_token=None):
356364
extra_params['pageSize'] = page_size
357365

358366
path = '/projects/%s/metrics' % (project,)
359-
return HTTPIterator(
360-
client=self._client, path=path,
361-
item_to_value=_item_to_metric, items_key='metrics',
362-
page_token=page_token, extra_params=extra_params)
367+
return page_iterator.HTTPIterator(
368+
client=self._client,
369+
api_request=self._client._connection.api_request,
370+
path=path,
371+
item_to_value=_item_to_metric,
372+
items_key='metrics',
373+
page_token=page_token,
374+
extra_params=extra_params)
363375

364376
def metric_create(self, project, metric_name, filter_, description=None):
365377
"""API call: create a metric resource.
@@ -459,12 +471,12 @@ def _item_to_entry(iterator, resource, loggers):
459471
460472
This method does not have the correct signature to be used as
461473
the ``item_to_value`` argument to
462-
:class:`~google.cloud.iterator.Iterator`. It is intended to be
474+
:class:`~google.api.core.page_iterator.Iterator`. It is intended to be
463475
patched with a mutable ``loggers`` argument that can be updated
464476
on subsequent calls. For an example, see how the method is
465477
used above in :meth:`_LoggingAPI.list_entries`.
466478
467-
:type iterator: :class:`~google.cloud.iterator.Iterator`
479+
:type iterator: :class:`~google.api.core.page_iterator.Iterator`
468480
:param iterator: The iterator that is currently in use.
469481
470482
:type resource: dict
@@ -485,7 +497,7 @@ def _item_to_entry(iterator, resource, loggers):
485497
def _item_to_sink(iterator, resource):
486498
"""Convert a sink resource to the native object.
487499
488-
:type iterator: :class:`~google.cloud.iterator.Iterator`
500+
:type iterator: :class:`~google.api.core.page_iterator.Iterator`
489501
:param iterator: The iterator that is currently in use.
490502
491503
:type resource: dict
@@ -500,7 +512,7 @@ def _item_to_sink(iterator, resource):
500512
def _item_to_metric(iterator, resource):
501513
"""Convert a metric resource to the native object.
502514
503-
:type iterator: :class:`~google.cloud.iterator.Iterator`
515+
:type iterator: :class:`~google.api.core.page_iterator.Iterator`
504516
:param iterator: The iterator that is currently in use.
505517
506518
:type resource: dict

packages/google-cloud-logging/google/cloud/logging/client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ def list_entries(self, projects=None, filter_=None, order_by=None,
194194
passed, the API will return the first page of
195195
entries.
196196
197-
:rtype: :class:`~google.cloud.iterator.Iterator`
197+
:rtype: :class:`~google.api.core.page_iterator.Iterator`
198198
:returns: Iterator of :class:`~google.cloud.logging.entries._BaseEntry`
199199
accessible to the current client.
200200
"""
@@ -243,7 +243,7 @@ def list_sinks(self, page_size=None, page_token=None):
243243
passed, the API will return the first page of
244244
sinks.
245245
246-
:rtype: :class:`~google.cloud.iterator.Iterator`
246+
:rtype: :class:`~google.api.core.page_iterator.Iterator`
247247
:returns: Iterator of
248248
:class:`~google.cloud.logging.sink.Sink`
249249
accessible to the current client.
@@ -288,7 +288,7 @@ def list_metrics(self, page_size=None, page_token=None):
288288
passed, the API will return the first page of
289289
metrics.
290290
291-
:rtype: :class:`~google.cloud.iterator.Iterator`
291+
:rtype: :class:`~google.api.core.page_iterator.Iterator`
292292
:returns: Iterator of :class:`~google.cloud.logging.metric.Metric`
293293
accessible to the current client.
294294
"""

packages/google-cloud-logging/google/cloud/logging/logger.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ def list_entries(self, projects=None, filter_=None, order_by=None,
344344
passed, the API will return the first page of
345345
entries.
346346
347-
:rtype: :class:`~google.cloud.iterator.Iterator`
347+
:rtype: :class:`~google.api.core.page_iterator.Iterator`
348348
:returns: Iterator of :class:`~google.cloud.logging.entries._BaseEntry`
349349
accessible to the current logger.
350350
"""

0 commit comments

Comments
 (0)