def handleVerb(self, verb, kw): # do original query method = common.getMethodForVerb(self._server, verb) # if we're handling a resumption token if 'resumptionToken' in kw: kw, cursor = decodeResumptionToken( kw['resumptionToken']) end_batch = cursor + self._batch_size # do query again with original parameters result = method(**kw) # XXX defeat laziness of any generators.. result = list(result) if end_batch < len(result): resumptionToken = encodeResumptionToken( kw, end_batch) else: resumptionToken = None return result[cursor:end_batch], resumptionToken # we're not handling resumption token, so do request result = method(**kw) # now handle resumption system if verb in ['ListSets', 'ListIdentifiers', 'ListRecords']: # XXX defeat the laziness effect of any generators.. result = list(result) end_batch = self._batch_size if end_batch < len(result): resumptionToken = encodeResumptionToken( kw, end_batch) else: resumptionToken = None return result[0:end_batch], resumptionToken return result
def handleVerb(self, verb, kw): method = common.getMethodForVerb(self._tree_server, verb) return etree.tostring(method(**kw).getroot())