Skip to content

Commit

Permalink
Rename Value.indexed->exclude_from_indexes.
Browse files Browse the repository at this point in the history
  • Loading branch information
dhermes committed Jan 7, 2016
1 parent dafc052 commit beffdc5
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 26 deletions.
12 changes: 6 additions & 6 deletions gcloud/datastore/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,16 +149,16 @@ def entity_from_protobuf(pb):
# Check if property_pb.value was indexed. Lists need to be
# special-cased and we require all `indexed` values in a list agree.
if isinstance(value, list):
indexed_values = set(value_pb.indexed
exclude_values = set(value_pb.exclude_from_indexes
for value_pb in property_pb.value.list_value)
if len(indexed_values) != 1:
if len(exclude_values) != 1:
raise ValueError('For a list_value, subvalues must either all '
'be indexed or all excluded from indexes.')

if not indexed_values.pop():
if exclude_values.pop():
exclude_from_indexes.append(prop_name)
else:
if not property_pb.value.indexed:
if property_pb.value.exclude_from_indexes:
exclude_from_indexes.append(prop_name)

entity = Entity(key=key, exclude_from_indexes=exclude_from_indexes)
Expand Down Expand Up @@ -196,10 +196,10 @@ def entity_to_protobuf(entity):
# Add index information to protobuf.
if name in entity.exclude_from_indexes:
if not value_is_list:
prop.value.indexed = False
prop.value.exclude_from_indexes = True

for sub_value in prop.value.list_value:
sub_value.indexed = False
sub_value.exclude_from_indexes = True

# Add meaning information to protobuf.
if name in entity._meanings:
Expand Down
24 changes: 12 additions & 12 deletions gcloud/datastore/test_batch.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,12 +114,12 @@ def test_put_entity_w_completed_key(self):
self.assertEqual(mutated_entity.key, key._key)
props = dict([(prop.name, prop.value)
for prop in mutated_entity.property])
self.assertTrue(props['foo'].indexed)
self.assertFalse(props['baz'].indexed)
self.assertTrue(props['spam'].indexed)
self.assertFalse(props['spam'].list_value[0].indexed)
self.assertFalse(props['spam'].list_value[1].indexed)
self.assertFalse(props['spam'].list_value[2].indexed)
self.assertFalse(props['foo'].exclude_from_indexes)
self.assertTrue(props['baz'].exclude_from_indexes)
self.assertFalse(props['spam'].exclude_from_indexes)
self.assertTrue(props['spam'].list_value[0].exclude_from_indexes)
self.assertTrue(props['spam'].list_value[1].exclude_from_indexes)
self.assertTrue(props['spam'].list_value[2].exclude_from_indexes)
self.assertFalse('frotz' in props)

def test_put_entity_w_completed_key_prefixed_dataset_id(self):
Expand All @@ -143,12 +143,12 @@ def test_put_entity_w_completed_key_prefixed_dataset_id(self):
self.assertEqual(mutated_entity.key, key._key)
props = dict([(prop.name, prop.value)
for prop in mutated_entity.property])
self.assertTrue(props['foo'].indexed)
self.assertFalse(props['baz'].indexed)
self.assertTrue(props['spam'].indexed)
self.assertFalse(props['spam'].list_value[0].indexed)
self.assertFalse(props['spam'].list_value[1].indexed)
self.assertFalse(props['spam'].list_value[2].indexed)
self.assertFalse(props['foo'].exclude_from_indexes)
self.assertTrue(props['baz'].exclude_from_indexes)
self.assertFalse(props['spam'].exclude_from_indexes)
self.assertTrue(props['spam'].list_value[0].exclude_from_indexes)
self.assertTrue(props['spam'].list_value[1].exclude_from_indexes)
self.assertTrue(props['spam'].list_value[2].exclude_from_indexes)
self.assertFalse('frotz' in props)

def test_delete_w_partial_key(self):
Expand Down
14 changes: 6 additions & 8 deletions gcloud/datastore/test_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,23 +37,22 @@ def test_it(self):
unindexed_prop_pb = entity_pb.property.add()
unindexed_prop_pb.name = 'bar'
unindexed_prop_pb.value.integer_value = 10
unindexed_prop_pb.value.indexed = False
unindexed_prop_pb.value.exclude_from_indexes = True

list_prop_pb1 = entity_pb.property.add()
list_prop_pb1.name = 'baz'
list_pb1 = list_prop_pb1.value.list_value

unindexed_value_pb = list_pb1.add()
unindexed_value_pb.integer_value = 11
unindexed_value_pb.indexed = False
unindexed_value_pb.exclude_from_indexes = True

list_prop_pb2 = entity_pb.property.add()
list_prop_pb2.name = 'qux'
list_pb2 = list_prop_pb2.value.list_value

indexed_value_pb = list_pb2.add()
indexed_value_pb.integer_value = 12
indexed_value_pb.indexed = True

entity = self._callFUT(entity_pb)
self.assertEqual(entity.kind, _KIND)
Expand Down Expand Up @@ -86,11 +85,10 @@ def test_mismatched_value_indexed(self):

unindexed_value_pb1 = list_pb.add()
unindexed_value_pb1.integer_value = 10
unindexed_value_pb1.indexed = False
unindexed_value_pb1.exclude_from_indexes = True

unindexed_value_pb2 = list_pb.add()
unindexed_value_pb2.integer_value = 11
unindexed_value_pb2.indexed = True

with self.assertRaises(ValueError):
self._callFUT(entity_pb)
Expand Down Expand Up @@ -250,7 +248,7 @@ def test_inverts_to_protobuf(self):
prop1 = original_pb.property.add()
prop1.name = 'foo'
prop1.value.integer_value = 1337
prop1.value.indexed = False
prop1.value.exclude_from_indexes = True
# Add a string property.
prop2 = original_pb.property.add()
prop2.name = 'bar'
Expand All @@ -273,11 +271,11 @@ def test_inverts_to_protobuf(self):
prop4 = original_pb.property.add()
prop4.name = 'list-quux'
list_val1 = prop4.value.list_value.add()
list_val1.indexed = False
list_val1.exclude_from_indexes = True
list_val1.meaning = meaning = 22
list_val1.blob_value = b'\xe2\x98\x83'
list_val2 = prop4.value.list_value.add()
list_val2.indexed = False
list_val2.exclude_from_indexes = True
list_val2.meaning = meaning
list_val2.blob_value = b'\xe2\x98\x85'

Expand Down

0 comments on commit beffdc5

Please sign in to comment.