code: def sleep_and_retry(func):
      '''
      Return a wrapped function that rescues rate limit exceptions, sleeping the
      current thread until rate limit resets.
  
      :param function func: The function to decorate.
      :return: Decorated function.
      :rtype: function
      '''
      @wraps(func)
      def wrapper(*args, **kargs):
          '''
          Call the rate limited function. If the function raises a rate limit
          exception sleep for the remaing time period and retry the function.
  
          :param args: non-keyword variable length argument list to the decorated function.
          :param kargs: keyworded variable length argument list to the decorated function.
          '''
          while True:
              try:
                  return func(*args, **kargs)
              except RateLimitException as exception:
                  time.sleep(exception.period_remaining)
      return wrappef sleep_and_retry(func):
      '''
      Return a wrapped function that rescues rate limit exceptions, sleeping the
      current thread until rate limit resets.
  
      :param function func: The function to decorate.
      :return: Decorated function.
      :rtype: function
      '''
      @wraps(func)
      def wrapper(*args, **kargs):
          '''
          Call the rate limited function. If the function raises a rate limit
          exception sleep for the remaing time period and retry the function.
  
          :param args: non-keyword variable length argument list to the decorated function.
          :param kargs: keyworded variable length argument list to the decorated function.
          '''
          while True:
              try:
                  return func(*args, **kargs)
              except RateLimitException as exception:
                  time.sleep(exception.period_remaining)
      return wrapper
docs: Return a wrapped function that rescues rate limit exceptions, sleeping the
      current thread until rate limit resets.
  
      :param function func: The function to decorate.
      :return: Decorated function.
      :rtype: function