original_docstring: Creates entities for index values that would appear in prodcution.
  
    This function finds all multi-valued properties listed in split_props, and
    creates a new entity for each unique combination of values. The resulting
    entities will only have a single value for each property listed in
    split_props.
  
    It reserves the right to include index data that would not be
    seen in production, e.g. by returning the original entity when no splitting
    is needed. LoadEntity will remove any excess fields.
  
    This simulates the results seen by an index scan in the datastore.
  
    Args:
      entity: The entity_pb.EntityProto to split.
      split_props: A set of property names to split on.
  
    Returns:
      A list of the split entity_pb.EntityProtos.
    
docstring: Creates entities for index values that would appear in prodcution.
  This function finds all multi-valued properties listed in split_props, and
  creates a new entity for each unique combination of values. The resulting
  entities will only have a single value for each property listed in
  split_props.
  
  It reserves the right to include index data that would not be
  seen in production, e.g. by returning the original entity when no splitting
  is needed. LoadEntity will remove any excess fields.
  
  This simulates the results seen by an index scan in the datastore.
docstring_tokens: Creates entities for index values that would appear in prodcution . This function finds all multi - valued properties listed in split_props and creates a new entity for each unique combination of values . The resulting entities will only have a single value for each property listed in split_props . It reserves the right to include index data that would not be seen in production e . g . by returning the original entity when no splitting is needed . LoadEntity will remove any excess fields . This simulates the results seen by an index scan in the datastore .
code: def _CreateIndexEntities(entity, postfix_props):
    """Creates entities for index values that would appear in prodcution.
  
    This function finds all multi-valued properties listed in split_props, and
    creates a new entity for each unique combination of values. The resulting
    entities will only have a single value for each property listed in
    split_props.
  
    It reserves the right to include index data that would not be
    seen in production, e.g. by returning the original entity when no splitting
    is needed. LoadEntity will remove any excess fields.
  
    This simulates the results seen by an index scan in the datastore.
  
    Args:
      entity: The entity_pb.EntityProto to split.
      split_props: A set of property names to split on.
  
    Returns:
      A list of the split entity_pb.EntityProtos.
    """
    to_split = {}
    split_required = False
    base_props = []
    for prop in entity.property_list():
      if prop.name() in postfix_props:
        values = to_split.get(prop.name())
        if values is None:
          values = []
          to_split[prop.name()] = values
        else:
  
          split_required = True
        if prop.value() not in values:
          values.append(prop.value())
      else:
        base_props.append(prop)
  
    if not split_required:
  
      return [entity]
  
    clone = entity_pb.EntityProto()
    clone.CopyFrom(entity)
    clone.clear_property()
    clone.property_list().extend(base_props)
    results = [clone]
  
    for name, splits in to_split.iteritems():
      if len(splits) == 1:
  
        for result in results:
          prop = result.add_property()
          prop.set_name(name)
          prop.set_multiple(False)
          prop.set_meaning(entity_pb.Property.INDEX_VALUE)
          prop.mutable_value().CopyFrom(splits[0])
        continue
  
      new_results = []
      for result in results:
        for split in splits:
          clone = entity_pb.EntityProto()
          clone.CopyFrom(result)
          prop = clone.add_property()
          prop.set_name(name)
          prop.set_multiple(False)
          prop.set_meaning(entity_pb.Property.INDEX_VALUE)
          prop.mutable_value().CopyFrom(split)
          new_results.append(clone)
      results = new_results
    return results
code_tokens: def _CreateIndexEntities ( entity , postfix_props ) : to_split = { } split_required = False base_props = [ ] for prop in entity . property_list ( ) : if prop . name ( ) in postfix_props : values = to_split . get ( prop . name ( ) ) if values is None : values = [ ] to_split [ prop . name ( ) ] = values else : split_required = True if prop . value ( ) not in values : values . append ( prop . value ( ) ) else : base_props . append ( prop ) if not split_required : return [ entity ] clone = entity_pb . EntityProto ( ) clone . CopyFrom ( entity ) clone . clear_property ( ) clone . property_list ( ) . extend ( base_props ) results = [ clone ] for name , splits in to_split . iteritems ( ) : if len ( splits ) == 1 : for result in results : prop = result . add_property ( ) prop . set_name ( name ) prop . set_multiple ( False ) prop . set_meaning ( entity_pb . Property . INDEX_VALUE ) prop . mutable_value ( ) . CopyFrom ( splits [ 0 ] ) continue new_results = [ ] for result in results : for split in splits : clone = entity_pb . EntityProto ( ) clone . CopyFrom ( result ) prop = clone . add_property ( ) prop . set_name ( name ) prop . set_multiple ( False ) prop . set_meaning ( entity_pb . Property . INDEX_VALUE ) prop . mutable_value ( ) . CopyFrom ( split ) new_results . append ( clone ) results = new_results return results
short_docstring: Creates entities for index values that would appear in prodcution.
short_docstring_tokens: Creates entities for index values that would appear in prodcution .
comment: """Creates entities for index values that would appear in prodcution.
  
    This function finds all multi-valued properties listed in split_props, and
    creates a new entity for each unique combination of values. The resulting
    entities will only have a single value for each property listed in
    split_props.
  
    It reserves the right to include index data that would not be
    seen in production, e.g. by returning the original entity when no splitting
    is needed. LoadEntity will remove any excess fields.
  
    This simulates the results seen by an index scan in the datastore.
  
    Args:
      entity: The entity_pb.EntityProto to split.
      split_props: A set of property names to split on.
  
    Returns:
      A list of the split entity_pb.EntityProtos.
    """