Helpers

Helper functions for dealing with Cloud Datastore’s Protobuf API.

The non-private functions are part of the API.

class google.cloud.datastore.helpers.GeoPoint(latitude, longitude)

Bases: object

Simple container for a geo point value.

  • Parameters

    • latitude (float) – Latitude of a point.

    • longitude (float) – Longitude of a point.

_eq_(other)

Compare two geo points for equality.

  • Return type

    bool

  • Returns

    True if the points compare equal, else False.

_ne_(other)

Compare two geo points for inequality.

  • Return type

    bool

  • Returns

    False if the points compare equal, else True.

to_protobuf()

Convert the current object to protobuf.

  • Return type

    google.type.latlng_pb2.LatLng.

  • Returns

    The current point as a protobuf.

google.cloud.datastore.helpers.entity_from_protobuf(pb)

Factory method for creating an entity based on a protobuf.

The protobuf should be one returned from the Cloud Datastore Protobuf API.

google.cloud.datastore.helpers.entity_to_protobuf(entity)

Converts an entity into a protobuf.

google.cloud.datastore.helpers.get_read_options(eventual, transaction_id, read_time=None, new_transaction_options=None)

Validate rules for read options, and assign to the request.

Helper method for lookup() and run_query.

  • Parameters

    • eventual (bool) – Flag indicating if EVENTUAL or STRONG consistency should be used.

    • transaction_id (bytes) – A transaction identifier (may be null).

    • read_time (datetime) – Read data from the specified time (may be null). This feature is in private preview.

    • new_transaction_options (google.cloud.datastore_v1.types.TransactionOptions) – Options for a new transaction.

  • Return type

    datastore_pb2.ReadOptions

  • Returns

    The read options corresponding to the inputs.

  • Raises

    ValueError if more than one of eventual==True, transaction_id, read_time, and new_transaction_options is specified.

google.cloud.datastore.helpers.get_transaction_options(transaction)

Get the transaction_id or new_transaction_options field from an active transaction object, for use in get_read_options

These are mutually-exclusive fields, so one or both will be None.

  • Return type

    Tuple[Optional[bytes], Optional[google.cloud.datastore_v1.types.TransactionOptions]]

  • Returns

    The transaction_id and new_transaction_options fields from the transaction object.

google.cloud.datastore.helpers.key_from_protobuf(pb)

Factory method for creating a key based on a protobuf.

The protobuf should be one returned from the Cloud Datastore Protobuf API.

google.cloud.datastore.helpers.set_database_id_to_request(request, database_id=None)

Set the “database_id” field to the request only if it was provided.