def __init__(self, server, res, preq): self.presp = zdefs.PresentResponse() self.server = server self.rec_end = (preq.resultSetStartPoint + preq.numberOfRecordsRequested) - 1 if self.rec_end > len(res): self.fail(13) return self.esn = None gESN = 'genericElementSetName' def_esn = (gESN, 'B') (esntyp, esn) = getattr(preq, 'recordComposition', ('simple', def_esn)) if esntyp == 'simple': (typ2, esn2) = esn if typ2 == gESN: self.esn = esn2 if self.esn == None: self.fail(24, esntyp) return self.presp.numberOfRecordsReturned = preq.numberOfRecordsRequested self.presp.nextResultSetPosition = self.rec_end self.count = preq.resultSetStartPoint - 2 # -1 b/c we increment right away in next, -1 because it's # one-based, not zero-based self.res = res self.recs = [] self.syntax = preq.preferredRecordSyntax self.next()
def process_presentRequest(self, preq): presp = zdefs.PresentResponse() print("accessing", repr(preq.resultSetId), self.result_sets) res_set = self.result_sets[preq.resultSetId] presp.numberOfRecordsReturned = preq.numberOfRecordsRequested presp.nextResultSetPosition = preq.resultSetStartPoint + \ preq.numberOfRecordsRequested presp.presentStatus = zdefs.PresentStatus.get_num_from_name('success') presp.records = ('responseRecords', self.format_records(preq.resultSetStartPoint, preq.numberOfRecordsRequested, res_set, preq.preferredRecordSyntax)) self.send_PDU('presentResponse', presp)