Exemple #1
0
 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
Exemple #2
0
 def handleVerb(self, verb, kw):
     method = common.getMethodForVerb(self._tree_server, verb)
     return etree.tostring(method(**kw).getroot())