def _get_detailed_endpoint_information(self, host, ip, from_cache='off'):
        url = '{api_url}/getEndpointData?host={host}&s={endpoint_ip}&fromCache={from_cache}'.format(
            api_url=self.API_URL,
            host=host,
            endpoint_ip=ip,
            from_cache=from_cache
        )

        while True:
            try:
                response = self._handle_api_error(requests.get(url)).json()
                print('[INFO] [{ip_address}] Progress: {progress}%, Status: {status}'.format(
                    ip_address=response.get('ipAddress'),
                    progress='{}'.format(response.get('progress')) if response.get('progress') > -1 else '0',
                    status=response.get('statusDetailsMessage')
                    )
                )
                if response.get('progress') == 100:
                    return
                elif response.get('progress') < 0:
                    time.sleep(10)
                else:
                    time.sleep(5)
            except __HOLE__:
                return
            except Exception as e:
                if self.DEBUG:
                    print(e)
                time.sleep(5)
                continue
dataset/ETHPy150Open takeshixx/python-ssllabs/ssllabs.py/SSLLabsAssessment._get_detailed_endpoint_information