import logging
import random

def disable_retry_wait_for_test():
  """Disables retry waiting. Use only with tests."""
  disable_retry_wait_for_test.on = True
disable_retry_wait_for_test.on = False

def retry_delay(attempt, min_delay=5, base=30):
  """Get seconds to delay before attempting a retry.

  Uses exponential backoff to determine the delay time. Setting min_delay
  to 5s since lsremote and bandwidth refills every 5s.

  Args:
    attempt: current attempt number.
    min_delay: left boundary of delay time to randomly choose from.
    base: delay duration we are doubling on each attempt.

  Returns:
    The number of seconds to wait before retrying.
  """
  assert min_delay <= base
  exponential_delay = base * 2**attempt
  logging.info('Picking a random delay between '
               '%s and %s seconds', min_delay, exponential_delay)
  if disable_retry_wait_for_test.on:
    return 0
  return random.randint(min_delay, exponential_delay)
