def _get_sorting_message(request): """Parses the sort query into a list of ClientSortControls protobuf messages. """ control_list = [] sort_query = request.url.query.get('sort', None) if sort_query is None: return control_list for key_string in sort_query.split(','): if key_string[0] == '-': reverse = True key_string = key_string[1:] else: reverse = False keys = key_string.split('.') if keys[-1] == 'length': compare_length = True keys.pop() else: compare_length = False control_list.append( client_list_control_pb2.ClientSortControls( keys=keys, reverse=reverse, compare_length=compare_length)) return control_list
def _get_sorting_message(request, key): """Parses the reverse query into a list of ClientSortControls protobuf messages. """ control_list = [] reverse = request.url.query.get('reverse', None) if reverse is None: return control_list if reverse.lower() == "": control_list.append( client_list_control_pb2.ClientSortControls( reverse=True, keys=key.split(","))) elif reverse.lower() != 'false': control_list.append( client_list_control_pb2.ClientSortControls( reverse=True, keys=reverse.split(","))) return control_list