def test_from_key(self): key = Key(dataset=Dataset('test-dataset')).kind('TestKind').id(1234) entity = Entity.from_key(key) self.assertEqual('test-dataset', entity.dataset().id()) self.assertEqual('TestKind', entity.key().kind()) self.assertEqual(entity.key().kind(), entity.kind()) self.assertEqual(1234, entity.key().id())
def entity_from_protobuf(pb, dataset=None): """Factory method for creating an entity based on a protobuf. The protobuf should be one returned from the Cloud Datastore Protobuf API. :type pb: :class:`gcloud.datastore.datastore_v1_pb2.Entity` :param pb: The Protobuf representing the entity. :rtype: :class:`gcloud.datastore.entity.Entity` :returns: The entity derived from the protobuf. """ key = key_from_protobuf(pb.key) entity = Entity.from_key(key, dataset) for property_pb in pb.property: value = _get_value_from_property_pb(property_pb) entity[property_pb.name] = value return entity