Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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