Change to use list_next api to get all artifacts for a given build
BUG=b:62141068
TEST=local devserver test
Change-Id: I758a190c72bcff3832119958ce66dce55678617f
Reviewed-on: https://chromium-review.googlesource.com/522889
Commit-Ready: Kris Rambish <krisr@chromium.org>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Kris Rambish <krisr@chromium.org>
diff --git a/android_build.py b/android_build.py
index 3ee0f29..f128db6 100644
--- a/android_build.py
+++ b/android_build.py
@@ -116,12 +116,18 @@
build_type = cls._GetBuildType(build_id)
# Get all artifacts for the given build_id and target.
- # maxResults is set to 1000 so API returns enough results to include all
- # artifacts.
- artifacts = service_obj.buildartifact().list(
+ artifacts = []
+ req = service_obj.buildartifact().list(
buildType=build_type, buildId=build_id, target=target,
- attemptId='latest', maxResults=1000).execute(num_retries=MAX_ATTEMPTS)
- return artifacts['artifacts']
+ attemptId='latest', maxResults=10)
+ while req:
+ response = req.execute(num_retries=MAX_ATTEMPTS)
+ if not response:
+ break
+ artifacts.extend(response.get('artifacts', []))
+ req = service_obj.buildartifact().list_next(req, response)
+
+ return artifacts
@classmethod
@retry.retry(Exception, timeout_min=DOWNLOAD_TIMEOUT_MINS)