def post(self): self.response.headers['Content-Type'] = 'text/plain; charset=utf-8' log_id = int(self.request.get('id', 0)) log = ReportLog.get_by_id(log_id) if not log or not log.commit: self.response.out.write("Not processed") return branch = log.branch() platform = log.platform() build = Build.get_or_insert_from_log(log) for test_name, result_value in log.results().iteritems(): test = Test.update_or_insert(test_name, branch, platform) result = TestResult.get_or_insert_from_parsed_json(test_name, build, result_value) runs = Runs.get_by_objects(branch, platform, test) regenerate_runs = True if runs: runs.update_incrementally(build, result) regenerate_runs = False schedule_runs_update(test.id, branch.id, platform.id, regenerate_runs) log = ReportLog.get(log.key()) log.delete() # We need to update dashboard and manifest because they are affected by the existance of test results schedule_dashboard_update() schedule_manifest_update() self.response.out.write('OK')
def post(self): commit = bool(self.request.get('commit')) delete = bool(self.request.get('delete')) if commit == delete: return self._error('Invalid request') try: log = ReportLog.get_by_id(int(self.request.get('id', 0))) except: return self._error('Invalid log id "%s"' % self.request.get('id', '')) if not log: return self._error('No log found for "%s"' % self.request.get('id', '')) if commit: log.commit = True log.put() schedule_report_process(log) else: log.delete() self.response.out.write( template.render('report_logs.html', { 'logs': ReportLog.all(), 'status': 'OK' }))
def post(self): commit = bool(self.request.get('commit')) delete = bool(self.request.get('delete')) if commit == delete: return self._error('Invalid request') try: log = ReportLog.get_by_id(int(self.request.get('id', 0))) except: return self._error('Invalid log id "%s"' % self.request.get('id', '')) if not log: return self._error('No log found for "%s"' % self.request.get('id', '')) if commit: log.commit = True log.put() schedule_report_process(log) else: log.delete() self.response.out.write(template.render('report_logs.html', {'logs': ReportLog.all(), 'status': 'OK'}))
def post(self): self.response.headers['Content-Type'] = 'text/plain; charset=utf-8' log_id = int(self.request.get('id', 0)) log = ReportLog.get_by_id(log_id) if not log or not log.commit: self.response.out.write("Not processed") return branch = log.branch() platform = log.platform() build = Build.get_or_insert_from_log(log) for test_name, result_value in log.results().iteritems(): unit = result_value.get('unit') if isinstance(result_value, dict) else None test = Test.update_or_insert(test_name, branch, platform, unit) result = TestResult.get_or_insert_from_parsed_json( test_name, build, result_value) if not result: continue runs = Runs.get_by_objects(branch, platform, test) regenerate_runs = True if runs: runs.update_incrementally(build, result) regenerate_runs = False schedule_runs_update(test.id, branch.id, platform.id, regenerate_runs) log = ReportLog.get(log.key()) log.delete() # We need to update dashboard and manifest because they are affected by the existance of test results schedule_dashboard_update() schedule_manifest_update() self.response.out.write('OK')
def post(self): commit = bool(self.request.get("commit")) delete = bool(self.request.get("delete")) if commit == delete: return self._error("Invalid request") try: log = ReportLog.get_by_id(int(self.request.get("id", 0))) except: return self._error('Invalid log id "%s"' % self.request.get("id", "")) if not log: return self._error('No log found for "%s"' % self.request.get("id", "")) if commit: log.commit = True log.put() schedule_report_process(log) else: log.delete() self.response.out.write( template.render("report_logs.html", {"logs": ReportLog.all().fetch(20), "status": "OK"}) )