1414
1515"""Client for interacting with the Google BigQuery API."""
1616
17-
17+ from google . api . core import page_iterator
1818from google .cloud .client import ClientWithProject
1919from google .cloud .bigquery ._http import Connection
2020from google .cloud .bigquery .dataset import Dataset
2323from google .cloud .bigquery .job import LoadTableFromStorageJob
2424from google .cloud .bigquery .job import QueryJob
2525from google .cloud .bigquery .query import QueryResults
26- from google .cloud .iterator import HTTPIterator
2726
2827
2928class Project (object ):
@@ -98,13 +97,17 @@ def list_projects(self, max_results=None, page_token=None):
9897 not passed, the API will return the first page of
9998 projects.
10099
101- :rtype: :class:`~google.cloud.iterator .Iterator`
100+ :rtype: :class:`~google.api.core.page_iterator .Iterator`
102101 :returns: Iterator of :class:`~google.cloud.bigquery.client.Project`
103102 accessible to the current client.
104103 """
105- return HTTPIterator (
106- client = self , path = '/projects' , item_to_value = _item_to_project ,
107- items_key = 'projects' , page_token = page_token ,
104+ return page_iterator .HTTPIterator (
105+ client = self ,
106+ api_request = self ._connection .api_request ,
107+ path = '/projects' ,
108+ item_to_value = _item_to_project ,
109+ items_key = 'projects' ,
110+ page_token = page_token ,
108111 max_results = max_results )
109112
110113 def list_datasets (self , include_all = False , max_results = None ,
@@ -126,18 +129,23 @@ def list_datasets(self, include_all=False, max_results=None,
126129 not passed, the API will return the first page of
127130 datasets.
128131
129- :rtype: :class:`~google.cloud.iterator .Iterator`
132+ :rtype: :class:`~google.api.core.page_iterator .Iterator`
130133 :returns: Iterator of :class:`~google.cloud.bigquery.dataset.Dataset`.
131134 accessible to the current client.
132135 """
133136 extra_params = {}
134137 if include_all :
135138 extra_params ['all' ] = True
136139 path = '/projects/%s/datasets' % (self .project ,)
137- return HTTPIterator (
138- client = self , path = path , item_to_value = _item_to_dataset ,
139- items_key = 'datasets' , page_token = page_token ,
140- max_results = max_results , extra_params = extra_params )
140+ return page_iterator .HTTPIterator (
141+ client = self ,
142+ api_request = self ._connection .api_request ,
143+ path = path ,
144+ item_to_value = _item_to_dataset ,
145+ items_key = 'datasets' ,
146+ page_token = page_token ,
147+ max_results = max_results ,
148+ extra_params = extra_params )
141149
142150 def dataset (self , dataset_name , project = None ):
143151 """Construct a dataset bound to this client.
@@ -207,7 +215,7 @@ def list_jobs(self, max_results=None, page_token=None, all_users=None,
207215 * ``"pending"``
208216 * ``"running"``
209217
210- :rtype: :class:`~google.cloud.iterator .Iterator`
218+ :rtype: :class:`~google.api.core.page_iterator .Iterator`
211219 :returns: Iterable of job instances.
212220 """
213221 extra_params = {'projection' : 'full' }
@@ -219,10 +227,15 @@ def list_jobs(self, max_results=None, page_token=None, all_users=None,
219227 extra_params ['stateFilter' ] = state_filter
220228
221229 path = '/projects/%s/jobs' % (self .project ,)
222- return HTTPIterator (
223- client = self , path = path , item_to_value = _item_to_job ,
224- items_key = 'jobs' , page_token = page_token ,
225- max_results = max_results , extra_params = extra_params )
230+ return page_iterator .HTTPIterator (
231+ client = self ,
232+ api_request = self ._connection .api_request ,
233+ path = path ,
234+ item_to_value = _item_to_job ,
235+ items_key = 'jobs' ,
236+ page_token = page_token ,
237+ max_results = max_results ,
238+ extra_params = extra_params )
226239
227240 def load_table_from_storage (self , job_name , destination , * source_uris ):
228241 """Construct a job for loading data into a table from CloudStorage.
@@ -349,7 +362,7 @@ def run_sync_query(self, query, udf_resources=(), query_parameters=()):
349362def _item_to_project (iterator , resource ):
350363 """Convert a JSON project to the native object.
351364
352- :type iterator: :class:`~google.cloud.iterator .Iterator`
365+ :type iterator: :class:`~google.api.core.page_iterator .Iterator`
353366 :param iterator: The iterator that is currently in use.
354367
355368 :type resource: dict
@@ -365,7 +378,7 @@ def _item_to_project(iterator, resource):
365378def _item_to_dataset (iterator , resource ):
366379 """Convert a JSON dataset to the native object.
367380
368- :type iterator: :class:`~google.cloud.iterator .Iterator`
381+ :type iterator: :class:`~google.api.core.page_iterator .Iterator`
369382 :param iterator: The iterator that is currently in use.
370383
371384 :type resource: dict
@@ -380,7 +393,7 @@ def _item_to_dataset(iterator, resource):
380393def _item_to_job (iterator , resource ):
381394 """Convert a JSON job to the native object.
382395
383- :type iterator: :class:`~google.cloud.iterator .Iterator`
396+ :type iterator: :class:`~google.api.core.page_iterator .Iterator`
384397 :param iterator: The iterator that is currently in use.
385398
386399 :type resource: dict
0 commit comments