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

Unified Diff: tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/base/py/transfer.py

Issue 1376593003: Roll gsutil version to 4.15. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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/gsutilz/third_party/apitools/apitools/base/py/transfer.py
diff --git a/tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/base/py/transfer.py b/tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/base/py/transfer.py
old mode 100755
new mode 100644
index 35a4774a6fb7cd49c40ad42bbfd89e5356147398..aba55ca966abf003d1f0c37f07576eff5d4ce7ca
--- a/tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/base/py/transfer.py
+++ b/tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/base/py/transfer.py
@@ -331,7 +331,7 @@ class Download(_Transfer):
else:
if start < 0:
start = max(0, start + self.total_size)
- return start, self.total_size
+ return start, self.total_size - 1
def __SetRangeHeader(self, request, start, end=None):
if start < 0:
@@ -364,12 +364,24 @@ class Download(_Transfer):
"""
end_byte = end
+
+ if start < 0 and not self.total_size:
+ return end_byte
+
if use_chunks:
alternate = start + self.chunksize - 1
- end_byte = min(end_byte, alternate) if end_byte else alternate
+ if end_byte is not None:
+ end_byte = min(end_byte, alternate)
+ else:
+ end_byte = alternate
+
if self.total_size:
alternate = self.total_size - 1
- end_byte = min(end_byte, alternate) if end_byte else alternate
+ if end_byte is not None:
+ end_byte = min(end_byte, alternate)
+ else:
+ end_byte = alternate
+
return end_byte
def __GetChunk(self, start, end, additional_headers=None):
@@ -434,22 +446,24 @@ class Download(_Transfer):
self.EnsureInitialized()
progress_end_normalized = False
if self.total_size is not None:
- progress, end = self.__NormalizeStartEnd(start, end)
+ progress, end_byte = self.__NormalizeStartEnd(start, end)
progress_end_normalized = True
else:
progress = start
- while not progress_end_normalized or progress < end:
- end_byte = self.__ComputeEndByte(progress, end=end,
+ end_byte = end
+ while (not progress_end_normalized or end_byte is None or
+ progress <= end_byte):
+ end_byte = self.__ComputeEndByte(progress, end=end_byte,
use_chunks=use_chunks)
response = self.__GetChunk(progress, end_byte,
additional_headers=additional_headers)
if not progress_end_normalized:
self.__SetTotal(response.info)
- progress, end = self.__NormalizeStartEnd(start, end)
+ progress, end_byte = self.__NormalizeStartEnd(start, end)
progress_end_normalized = True
response = self.__ProcessResponse(response)
progress += response.length
- if not response:
+ if response.length == 0:
raise exceptions.TransferRetryError(
'Zero bytes unexpectedly returned in download response')
@@ -659,6 +673,8 @@ class Upload(_Transfer):
Returns:
None.
"""
+ if upload_config.resumable_path is None:
+ self.strategy = SIMPLE_UPLOAD
if self.strategy is not None:
return
strategy = SIMPLE_UPLOAD

Powered by Google App Engine
This is Rietveld 408576698