def __init__(self, test_uri): """ Constractor @param test_uri: Test Uri """ self.test_uri = test_uri try: self.red = InspectingResourceExpertDroid(self.test_uri) self.result = "" self.done = False self.groups = [] logger = logging.getLogger() logger.setLevel(logging.DEBUG) if self.red.res_complete: self.result = self._generate_output_xml(test_uri).toprettyxml() else: error_string = "" if self.red.res_error['desc'] == nbhttp.error.ERR_CONNECT[ 'desc']: error_string = "Could not connect to the server (%s)" % self.red.res_error.get( 'detail', "unknown") elif self.red.res_error['desc'] == nbhttp.error.ERR_URL[ 'desc']: error_string = self.red.res_error.get( 'detail', "RED can't fetch that URL.") elif self.red.res_error[ 'desc'] == nbhttp.error.ERR_READ_TIMEOUT['desc']: error_string = self.red.res_error['desc'] elif self.red.res_error[ 'desc'] == nbhttp.error.ERR_HTTP_VERSION['desc']: error_string = "<code>%s</code> isn't HTTP." % e( self.red.res_error.get('detail', '')[:20]) else: raise AssertionError, "Unidentified incomplete response error." self.result = self._generate_error_xml( error_string).toprettyxml() except: import traceback logging.error(traceback.format_exc()) self.result = """<?xml version="1.0" ?>