def _get_flat_path(path_pb):
    """Convert a legacy "Path" protobuf to a flat path.

    For example

        Element {
          type: "parent"
          id: 59
        }
        Element {
          type: "child"
          name: "naem"
        }

    would convert to ``('parent', 59, 'child', 'naem')``.

    :type path_pb: :class:`._app_engine_key_pb2.Path`
    :param path_pb: Legacy protobuf "Path" object (from a "Reference").

    :rtype: tuple
    :returns: The path parts from ``path_pb``.
    """
    num_elts = len(path_pb.element)
    last_index = num_elts - 1

    result = []
    for index, element in enumerate(path_pb.element):
        result.append(element.type)
        _add_id_or_name(result, element, index == last_index)

    return tuple(result)
def _get_flat_path ( path_pb ) : num_elts = len ( path_pb . element ) last_index = num_elts - 1 result = [ ] for index , element in enumerate ( path_pb . element ) : result . append ( element . type ) _add_id_or_name ( result , element , index == last_index ) return tuple ( result )
Convert a legacy "Path" protobuf to a flat path.

    For example

        Element {
          type: "parent"
          id: 59
        }
        Element {
          type: "child"
          name: "naem"
        }

    would convert to ``('parent', 59, 'child', 'naem')``.

    :type path_pb: :class:`._app_engine_key_pb2.Path`
    :param path_pb: Legacy protobuf "Path" object (from a "Reference").

    :rtype: tuple
    :returns: The path parts from ``path_pb``.