Exemple #1
0
def pb_rec(request):
    if request.method != 'POST':
        return Response('POST required')
    f = request.files.get('file')
    while True:
        try:
            (l,) = unpack('I', f.read(4))
            info(l)
            e = Entity._FromPb(f.read(l))
            info(e)
        except Exception, e:
            info(e)
            break
Exemple #2
0
    def finish(self):

        try:
            if self._keys_only:
                results = [Key._FromPb(e.key()) for e in self._buffer[:self._limit]]
            else:
                results = [Entity._FromPb(e) for e in self._buffer[:self._limit]]
                if self._model_class is not None:
                    from_entity = self._model_class.from_entity
                    results = [from_entity(e) for e in results]
                else:
                    results = [class_for_kind(e.kind()).from_entity(e) for e in results]
        finally:
            del self._buffer[:]

        if self.on_complete:
            results = self.on_complete(results)
        self.set_result(self._value, results)
Exemple #3
0
def process_query_result(result):
    if result.keys_only():
        return [Key._FromPb(e.key()) for e in result.result_list()]
    else:
        return [Entity._FromPb(e) for e in result.result_list()]
Exemple #4
0
        logging.debug("Exception (Delete):%s", exp)
        exception.append(exp)
    if callback:
        callback(rpc)


def get_rpc_handler(rpc):
  try:
      rpc.check_success()
  except apiproxy_errors.ApplicationError, err:
    raise _ToDatastoreError(err)
  resp = rpc.response
  entities = []
  for group in resp.entity_list():
    if group.has_entity():
      entities.append(Entity._FromPb(group.entity()))
    else:
      entities.append(None)

  return entities

def get_callback(rpc, result, exception, callback=None):
    try:
        assert isinstance(rpc.request, datastore_pb.GetRequest), "request should be a GetRequest"
        assert isinstance(rpc.response, datastore_pb.GetResponse), "response should be a GetResponse"

        response = get_rpc_handler(rpc)
        result.append(response)
    except (datastore_errors.Error, apiproxy_errors.Error), exp:
        logging.debug("Exception (Get):%s", exp)
        exception.append(exp)