MCPcopy Create free account
hub / github.com/googleapis/google-api-python-client / createNextMethod

Function createNextMethod

googleapiclient/discovery.py:1341–1399  ·  view source on GitHub ↗

Creates any _next methods for attaching to a Resource. The _next methods allow for easy iteration through list() responses. Args: methodName: string, name of the method to use. pageTokenName: string, name of request page token field. nextPageTokenName: string, name of res

(
    methodName,
    pageTokenName="pageToken",
    nextPageTokenName="nextPageToken",
    isPageTokenParameter=True,
)

Source from the content-addressed store, hash-verified

1339
1340
1341def createNextMethod(
1342 methodName,
1343 pageTokenName="pageToken",
1344 nextPageTokenName="nextPageToken",
1345 isPageTokenParameter=True,
1346):
1347 """Creates any _next methods for attaching to a Resource.
1348
1349 The _next methods allow for easy iteration through list() responses.
1350
1351 Args:
1352 methodName: string, name of the method to use.
1353 pageTokenName: string, name of request page token field.
1354 nextPageTokenName: string, name of response page token field.
1355 isPageTokenParameter: Boolean, True if request page token is a query
1356 parameter, False if request page token is a field of the request body.
1357 """
1358 methodName = fix_method_name(methodName)
1359
1360 def methodNext(self, previous_request, previous_response):
1361 """Retrieves the next page of results.
1362
1363 Args:
1364 previous_request: The request for the previous page. (required)
1365 previous_response: The response from the request for the previous page. (required)
1366
1367 Returns:
1368 A request object that you can call 'execute()' on to request the next
1369 page. Returns None if there are no more items in the collection.
1370 """
1371 # Retrieve nextPageToken from previous_response
1372 # Use as pageToken in previous_request to create new request.
1373
1374 nextPageToken = previous_response.get(nextPageTokenName, None)
1375 if not nextPageToken:
1376 return None
1377
1378 request = copy.copy(previous_request)
1379
1380 if isPageTokenParameter:
1381 # Replace pageToken value in URI
1382 request.uri = _add_query_parameter(
1383 request.uri, pageTokenName, nextPageToken
1384 )
1385 logger.debug("Next page request URL: %s %s" % (methodName, request.uri))
1386 else:
1387 # Replace pageToken value in request body
1388 model = self._model
1389 body = model.deserialize(request.body)
1390 body[pageTokenName] = nextPageToken
1391 request.body = model.serialize(body)
1392 request.body_size = len(request.body)
1393 if "content-length" in request.headers:
1394 del request.headers["content-length"]
1395 logger.debug("Next page request body: %s %s" % (methodName, body))
1396
1397 return request
1398

Callers 1

_add_next_methodsMethod · 0.85

Calls 1

fix_method_nameFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…