def handle_lifecycle_control(self, ctrl): if ctrl.message == "start": apiurl = ctrl.config.get("qareports", "apiurl") auth_token = ctrl.config.get("qareports", "auth_token") user = ctrl.config.get("qareports", "user") password = ctrl.config.get("qareports", "password") realm = ctrl.config.get("qareports", "realm") self.uploader = ReportUploader(apiurl, auth_token, user, password, realm)
class ParticipantHandler(object): def handle_wi_control(self, ctrl): pass def handle_lifecycle_control(self, ctrl): if ctrl.message == "start": apiurl = ctrl.config.get("qareports", "apiurl") auth_token = ctrl.config.get("qareports", "auth_token") user = ctrl.config.get("qareports", "user") password = ctrl.config.get("qareports", "password") realm = ctrl.config.get("qareports", "realm") self.uploader = ReportUploader(apiurl, auth_token, user, password, realm) def handle_wi(self, wid): f = wid.fields p = wid.params hwproduct = f.qa.hwproduct testtype = f.qa.testtype target = f.qa.target release_version = f.qa.release_version build = f.image.image_url if not f.qa or not f.qa.results: self.log.info("no results in this workitem") return results = get_results_files_list(f.qa.results.results_dir) attachments = [] result_xmls = [] for result in results: if result.endswith(".xml"): result_contents = open(result).read() if result_contents.strip().startswith("<"): result_xmls.append((result, result_contents)) else: attachments.append((result, result_contents)) else: attachments.append((result, open(result).read())) if result_xmls: url, msg = self.uploader.send_files(result_xmls, attachments, hwproduct=hwproduct, testtype=testtype, target=target, release_version = release_version, build = build) wid.fields.qa.results.report_url = url if url and ((f.qa and f.qa.move_results) or (p.move_results)): move_results_dir(f.qa.results.results_dir, os.path.basename(url)) if not wid.fields.msg: wid.fields.msg = [] wid.fields.msg.append(msg)
class ParticipantHandler(object): def handle_wi_control(self, ctrl): pass def handle_lifecycle_control(self, ctrl): if ctrl.message == "start": apiurl = ctrl.config.get("qareports", "apiurl") auth_token = ctrl.config.get("qareports", "auth_token") user = ctrl.config.get("qareports", "user") password = ctrl.config.get("qareports", "password") realm = ctrl.config.get("qareports", "realm") self.uploader = ReportUploader(apiurl, auth_token, user, password, realm) def handle_wi(self, wid): f = wid.fields p = wid.params hwproduct = f.qa.hwproduct testtype = f.qa.testtype target = f.qa.target release_version = f.qa.release_version build = f.image.image_url if not f.qa or not f.qa.results: self.log.info("no results in this workitem") return results = get_results_files_list(f.qa.results.results_dir) attachments = [] result_xmls = [] for result in results: if result.endswith(".xml"): result_contents = open(result).read() if result_contents.strip().startswith("<"): result_xmls.append((result, result_contents)) else: attachments.append((result, result_contents)) else: attachments.append((result, open(result).read())) if result_xmls: url, msg = self.uploader.send_files( result_xmls, attachments, hwproduct=hwproduct, testtype=testtype, target=target, release_version=release_version, build=build) wid.fields.qa.results.report_url = url if url and ((f.qa and f.qa.move_results) or (p.move_results)): move_results_dir(f.qa.results.results_dir, os.path.basename(url)) if not wid.fields.msg: wid.fields.msg = [] wid.fields.msg.append(msg)