Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(357)

Unified Diff: tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/list_pager.py

Issue 1260493004: Revert "Add gsutil 4.13 to telemetry/third_party" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/list_pager.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/list_pager.py b/tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/list_pager.py
deleted file mode 100644
index cf90389f8819ca44e6b121d0b838b7f163849553..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/list_pager.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-"""A helper function that executes a series of List queries for many APIs."""
-
-import copy
-
-__all__ = [
- 'YieldFromList',
-]
-
-
-def YieldFromList(
- service, request, limit=None, batch_size=100,
- method='List', field='items', predicate=None,
- current_token_attribute='pageToken',
- next_token_attribute='nextPageToken',
- batch_size_attribute='maxResults'):
- """Make a series of List requests, keeping track of page tokens.
-
- Args:
- service: apitools_base.BaseApiService, A service with a .List() method.
- request: protorpc.messages.Message, The request message
- corresponding to the service's .List() method, with all the
- attributes populated except the .maxResults and .pageToken
- attributes.
- limit: int, The maximum number of records to yield. None if all available
- records should be yielded.
- batch_size: int, The number of items to retrieve per request.
- method: str, The name of the method used to fetch resources.
- field: str, The field in the response that will be a list of items.
- predicate: lambda, A function that returns true for items to be yielded.
- current_token_attribute: str, The name of the attribute in a
- request message holding the page token for the page being
- requested.
- next_token_attribute: str, The name of the attribute in a
- response message holding the page token for the next page.
- batch_size_attribute: str, The name of the attribute in a
- response message holding the maximum number of results to be
- returned.
-
- Yields:
- protorpc.message.Message, The resources listed by the service.
-
- """
- request = copy.deepcopy(request)
- setattr(request, batch_size_attribute, batch_size)
- setattr(request, current_token_attribute, None)
- while limit is None or limit:
- response = getattr(service, method)(request)
- items = getattr(response, field)
- if predicate:
- items = list(filter(predicate, items))
- for item in items:
- yield item
- if limit is None:
- continue
- limit -= 1
- if not limit:
- return
- token = getattr(response, next_token_attribute)
- if not token:
- return
- setattr(request, current_token_attribute, token)

Powered by Google App Engine
This is Rietveld 408576698