def dispatch_request(self, **kwargs): board = kwargs["board"] job = kwargs["job"] kernel = kwargs["kernel"] body_title = ("Details for Tree «%s» - %s" % (job, kernel)) page_title = "%s tests: %s - %s" % (board, job, kernel) page_title = "%s — %s" % (self.PAGE_TITLE, page_title) DISTINCT_LAB_NAMES_URL = "{:s}/distinct/lab_name/".format( app.config.get("TEST_SUITE_API_ENDPOINT")) payload = { "board": board, "job": job, "kernel": kernel, } data, status, headers = backend.request_get( backend.create_url(DISTINCT_LAB_NAMES_URL), params=payload, timeout=60 * 5) if status == 200: json_data = backend.extract_gzip_data(data, headers) return render_template("tests-board-job-kernel.html", body_title=body_title, page_title=page_title, board=board, job=job, kernel=kernel, lab_names=json_data["result"]) else: abort(status)
def _get_build_results(date_range=1): """Retrieve build resulsts from the backend. By default retrieve only 1 day of data. :param date_range: The number of days of data to retrieve. :type date_range: integer :return The status code (integer) and the data from the backend (json). """ results = [] params = [("date_range", date_range), ("sort", "created_on"), ("sort_order", -1)] data, status, headers = backend.request_get(BUILD_URL, params=params) if status == 200: read_data = data if "content-encoding" in headers: if "gzip" in headers["content-encoding"]: in_buffer = io.BytesIO() in_buffer.write(data) in_buffer.seek(io.SEEK_SET) with gzip.GzipFile(mode="rb", fileobj=in_buffer) as g_data: read_data = g_data.read() if read_data: json_data = None json_data = json.loads(read_data, encoding="utf_8") read_data = data = None if json_data: results = json_data.get("result", []) return status, results
def _get_boot_data(req_params): """Get the boot data from the backend. :param req_params: The parameters for the request. They will be added to the default ones. :type req_params: dict :return: The response from the backend as a dictionary. """ results = [] default_params = [ ("date_range", 1), ("sort", "created_on"), ("sort_order", -1) ] if req_params: default_params.extend(req_params) data, status, headers = backend.request_get( BACKEND_BOOT_URL, params=default_params, timeout=60*60) if status == 200: results = backend.extract_gzip_data(data, headers) return results
def _get_build_results(date_range=1): """Retrieve build resulsts from the backend. By default retrieve only 1 day of data. :param date_range: The number of days of data to retrieve. :type date_range: integer :return The status code (integer) and the data from the backend (json). """ results = [] params = [ ("date_range", date_range), ("sort", "created_on"), ("sort_order", -1) ] data, status, headers = backend.request_get(BUILD_URL, params=params) if status == 200: read_data = data if "content-encoding" in headers: if "gzip" in headers["content-encoding"]: in_buffer = io.BytesIO() in_buffer.write(data) in_buffer.seek(io.SEEK_SET) with gzip.GzipFile(mode="rb", fileobj=in_buffer) as g_data: read_data = g_data.read() if read_data: json_data = None json_data = json.loads(read_data, encoding="utf_8") read_data = data = None if json_data: results = json_data.get("result", []) return status, results
def _get_soc_data(req_params): """Retrieve the SoC data from the backend. :param req_params: The parameters for the request. They will be added to the default ones. :type req_params: dict :return: The results from the backend. """ results = [] params = [ ("date_range", 1), ( "field", ( "build_id", "created_on", "git_branch", "git_commit", "git_url", "job", "job_id", "kernel", "mach" ) ), ("sort", "created_on"), ("sort_order", -1) ] if req_params: params.extend(req_params) data, status, headers = backend.request_get( BACKEND_BOOT_URL, params=params, timeout=60*60) if status == 200: results = backend.extract_gzip_data(data, headers) return results
def dispatch_request(self, **kwargs): board = kwargs["board"] job = kwargs["job"] kernel = kwargs["kernel"] body_title = ( "Details for Tree «%s» - %s" % (job, kernel)) page_title = "%s tests: %s - %s" % (board, job, kernel) page_title = "%s — %s" % (self.PAGE_TITLE, page_title) DISTINCT_LAB_NAMES_URL = "{:s}/distinct/lab_name/".format( app.config.get("TEST_GROUP_API_ENDPOINT")) payload = { "board": board, "job": job, "kernel": kernel, } data, status, headers = backend.request_get( backend.create_url(DISTINCT_LAB_NAMES_URL), params=payload, timeout=60*5) if status == 200: json_data = backend.extract_gzip_data(data, headers) return render_template( "tests-board-job-kernel.html", body_title=body_title, page_title=page_title, board=board, job=job, kernel=kernel, lab_names=json_data["result"] ) else: abort(status)