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' headers = "\n".join([ key + ': ' + value for key, value in self.request.headers.items() ]) # Do as best as we can to remove the password request_body_without_password = re.sub(r',\s*"password"\s*:\s*".+?"', '', self.request.body) log = ReportLog(timestamp=datetime.now(), headers=headers, payload=request_body_without_password) log.put() self._encountered_error = False try: parsedPayload = json.loads(self.request.body) if isinstance(parsedPayload, list): parsedPayload = parsedPayload[0] password = parsedPayload.get('password', '') except: return self._output( 'Failed to parse the payload as a json. Report key: %d' % log.key().id()) builder = log.builder() builder != None or self._output( 'No builder named "%s"' % log.get_value('builder-name')) log.branch() != None or self._output( 'No branch named "%s"' % log.get_value('branch')) log.platform() != None or self._output( 'No platform named "%s"' % log.get_value('platform')) log.build_number() != None or self._output( 'Invalid build number "%s"' % log.get_value('build-number')) log.timestamp() != None or self._output( 'Invalid timestamp "%s"' % log.get_value('timestamp')) log.webkit_revision() != None or self._output( 'Invalid webkit revision "%s"' % log.get_value('webkit-revision')) failed = False if builder and not (self.bypass_authentication() or builder.authenticate(password)): self._output('Authentication failed') if not log.results_are_well_formed(): self._output( "The payload doesn't contain results or results are malformed") if self._encountered_error: return log.commit = True log.put() schedule_report_process(log) self._output("OK")
def post(self): self.response.headers['Content-Type'] = 'text/plain; charset=utf-8' headers = "\n".join([key + ': ' + value for key, value in self.request.headers.items()]) # Do as best as we can to remove the password request_body_without_password = re.sub(r',\s*"password"\s*:\s*".+?"', '', self.request.body) log = ReportLog(timestamp=datetime.now(), headers=headers, payload=request_body_without_password) log.put() self._encountered_error = False try: parsedPayload = json.loads(self.request.body) if isinstance(parsedPayload, list): parsedPayload = parsedPayload[0] password = parsedPayload.get('password', '') except: return self._output('Failed to parse the payload as a json. Report key: %d' % log.key().id()) builder = log.builder() builder != None or self._output('No builder named "%s"' % log.get_value('builder-name')) log.branch() != None or self._output('No branch named "%s"' % log.get_value('branch')) log.platform() != None or self._output('No platform named "%s"' % log.get_value('platform')) log.build_number() != None or self._output('Invalid build number "%s"' % log.get_value('build-number')) log.timestamp() != None or self._output('Invalid timestamp "%s"' % log.get_value('timestamp')) log.webkit_revision() != None or self._output('Invalid webkit revision "%s"' % log.get_value('webkit-revision')) failed = False if builder and not (self.bypass_authentication() or builder.authenticate(password)): self._output('Authentication failed') if not log.results_are_well_formed(): self._output("The payload doesn't contain results or results are malformed") if self._encountered_error: return log.commit = True log.put() schedule_report_process(log) self._output("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().fetch(20), "status": "OK"}) )