13501: Adds subprocess32 install dependency on python-client for keepdocker.
[arvados.git] / sdk / python / arvados / retry.py
index dccd9c875a69ee161923e6fa6818e2d751f92352..3f62ab779f81fa43537a8223b7348bed52dc3a7c 100644 (file)
@@ -1,5 +1,9 @@
-#!/usr/bin/env python
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
 
+from builtins import range
+from builtins import object
 import functools
 import inspect
 import pycurl
@@ -9,7 +13,7 @@ from collections import deque
 
 import arvados.errors
 
-_HTTP_SUCCESSES = set(xrange(200, 300))
+_HTTP_SUCCESSES = set(range(200, 300))
 _HTTP_CAN_RETRY = set([408, 409, 422, 423, 500, 502, 503, 504])
 
 class RetryLoop(object):
@@ -51,7 +55,7 @@ class RetryLoop(object):
         * save_results: Specify a number to save the last N results
           that the loop recorded.  These records are available through
           the results attribute, oldest first.  Default 1.
-        * max_wait: Maximum time to wait between retries.
+        * max_wait: Maximum number of seconds to wait between retries.
         """
         self.tries_left = num_retries + 1
         self.check_result = success_check
@@ -69,7 +73,7 @@ class RetryLoop(object):
     def running(self):
         return self._running and (self._success is None)
 
-    def next(self):
+    def __next__(self):
         if self._running is None:
             self._running = True
         if (self.tries_left < 1) or not self.running():