code: def wait_until_done(self):
          
          wait = 1
          while True:
              time.sleep(wait)
              self.get_info()
              if self.info['status']['isFinished']:
                  break
              # implements a crude exponential back off
              wait = min(wait * 2, 60)
docs: This method will not return until the job is either complete or has
          reached an error state. This queries the server periodically to check
          for an update in status.