本文整理汇总了Python中googleapiclient.http.MediaIoBaseDownload._rand方法的典型用法代码示例。如果您正苦于以下问题:Python MediaIoBaseDownload._rand方法的具体用法?Python MediaIoBaseDownload._rand怎么用?Python MediaIoBaseDownload._rand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类googleapiclient.http.MediaIoBaseDownload
的用法示例。
在下文中一共展示了MediaIoBaseDownload._rand方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_media_io_base_download_retries_5xx
# 需要导入模块: from googleapiclient.http import MediaIoBaseDownload [as 别名]
# 或者: from googleapiclient.http.MediaIoBaseDownload import _rand [as 别名]
def test_media_io_base_download_retries_5xx(self):
self.request.http = HttpMockSequence([
({'status': '500'}, ''),
({'status': '500'}, ''),
({'status': '500'}, ''),
({'status': '200',
'content-range': '0-2/5'}, '123'),
({'status': '503'}, ''),
({'status': '503'}, ''),
({'status': '503'}, ''),
({'status': '200',
'content-range': '3-4/5'}, '45'),
])
download = MediaIoBaseDownload(
fd=self.fd, request=self.request, chunksize=3)
self.assertEqual(self.fd, download._fd)
self.assertEqual(3, download._chunksize)
self.assertEqual(0, download._progress)
self.assertEqual(None, download._total_size)
self.assertEqual(False, download._done)
self.assertEqual(self.request.uri, download._uri)
# Set time.sleep and random.random stubs.
sleeptimes = []
download._sleep = lambda x: sleeptimes.append(x)
download._rand = lambda: 10
status, done = download.next_chunk(num_retries=3)
# Check for exponential backoff using the rand function above.
self.assertEqual([20, 40, 80], sleeptimes)
self.assertEqual(self.fd.getvalue(), '123')
self.assertEqual(False, done)
self.assertEqual(3, download._progress)
self.assertEqual(5, download._total_size)
self.assertEqual(3, status.resumable_progress)
# Reset time.sleep stub.
del sleeptimes[0:len(sleeptimes)]
status, done = download.next_chunk(num_retries=3)
# Check for exponential backoff using the rand function above.
self.assertEqual([20, 40, 80], sleeptimes)
self.assertEqual(self.fd.getvalue(), '12345')
self.assertEqual(True, done)
self.assertEqual(5, download._progress)
self.assertEqual(5, download._total_size)
示例2: test_media_io_base_download_retries_connection_errors
# 需要导入模块: from googleapiclient.http import MediaIoBaseDownload [as 别名]
# 或者: from googleapiclient.http.MediaIoBaseDownload import _rand [as 别名]
def test_media_io_base_download_retries_connection_errors(self):
self.request.http = HttpMockWithErrors(
3, {'status': '200', 'content-range': '0-2/3'}, b'123')
download = MediaIoBaseDownload(
fd=self.fd, request=self.request, chunksize=3)
download._sleep = lambda _x: 0 # do nothing
download._rand = lambda: 10
status, done = download.next_chunk(num_retries=3)
self.assertEqual(self.fd.getvalue(), b'123')
self.assertEqual(True, done)