code: def check_status(self, delay=0):
          
          if not self.item_id:
              while not self._request_status():
                  # wait until _request_status returns True
                  yield self.status, self.completion_percentage
                  if self.item_id is None:
                      sleep(delay)
          else:
              yield self.status, self.completion_percentage
docs: Checks the api endpoint in a loop
  
          :param delay: number of seconds to wait between api calls.
           Note Connection 'requests_delay' also apply.
          :return: tuple of status and percentage complete
          :rtype: tuple(str, float)