def request_status(self, status, message): if message is None: message = "" self.arclinkRequest.setStatus(status) self.arclinkRequest.setMessage(message) ars = DataModel.ArclinkRequestSummary() tw = self.averageTimeWindow.seconds() if self.totalLineCount > 0: # avarage request time window tw = self.averageTimeWindow.seconds() // self.totalLineCount if tw >= 2**31: tw = -1 # prevent 32bit int overflow ars.setAverageTimeWindow(tw) ars.setTotalLineCount(self.totalLineCount) ars.setOkLineCount(self.okLineCount) self.arclinkRequest.setSummary(ars) al = DataModel.ArclinkLog() al.add(self.arclinkRequest) for obj in self.requestLines: self.arclinkRequest.add(obj) for obj in self.statusLines: self.arclinkRequest.add(obj) self.send()
#self.okLineCount = self.totalLineCount - req.errorLineCount() self.okLineCount = 0 for line in req.getRequestLines(): self.line_status(line) for line in req.getVolumeLines(): self.volume_status(line) self.request_status("END", "") # FIXME @catch def send(self): print "writing request with ID %s to DB" % self.arclinkRequest.requestID() al = DataModel.ArclinkLog() al.add(self.arclinkRequest) self.arclinkRequest.accept(self.dbWrite) @catch def __call__(self): return self.arclinkRequest @catch def line_status(self, line): start_time = line.start end_time = line.end network = line.network station = line.station channel = line.channel