<commit_before># Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

import itertools


def update_pagination(entities, request_size, page_size, marker,
                      sort_dir, sort_key, reversed_order):
    has_prev_data = False
    has_more_data = False

    entities = list(itertools.islice(entities, request_size))
    # first and middle page condition
    if len(entities) > page_size:
        entities.pop(-1)
        has_more_data = True
        # middle page condition
        if marker is not None:
            has_prev_data = True
    # first page condition when reached via prev back
    elif reversed_order and marker is not None:
        has_more_data = True
    # last page condition
    elif marker is not None:
        has_prev_data = True

    # restore the original ordering here
    if reversed_order:
        entities = sorted(entities, key=lambda entity:
                          (getattr(entity, sort_key)),
                          reverse=(sort_dir == sort_dir))

    return entities, has_more_data, has_prev_data
<commit_msg>Use entities.reverse() rather sorted(.., reverse=True)<commit_after># Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

import itertools


def update_pagination(entities, request_size, page_size, marker,
                      sort_dir, sort_key, reversed_order):
    has_prev_data = False
    has_more_data = False

    entities = list(itertools.islice(entities, request_size))
    # first and middle page condition
    if len(entities) > page_size:
        entities.pop(-1)
        has_more_data = True
        # middle page condition
        if marker is not None:
            has_prev_data = True
    # first page condition when reached via prev back
    elif reversed_order and marker is not None:
        has_more_data = True
    # last page condition
    elif marker is not None:
        has_prev_data = True

    # restore the original ordering here
    if reversed_order:
        entities.reverse()

    return entities, has_more_data, has_prev_data

{'fraction_non_alphanumeric': 0.06225033288948069, 'fraction_numerical': 0.003328894806924101, 'mean_word_length': 2.9748677248677247, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3601883', 'n_tokens_mistral': 793, 'n_tokens_neox': 790, 'n_words': 323}