Beispiel #1
0
def fetch_seek_paginator(query,
                         kwargs,
                         index_column,
                         clear=False,
                         count=None,
                         cap=100):
    check_cap(kwargs, cap)
    model = index_column.parent.class_
    sort, hide_null, nulls_large = kwargs.get('sort'), kwargs.get(
        'sort_hide_null'), kwargs.get('sort_nulls_large')
    if sort:
        query, sort_column = sorting.sort(
            query,
            sort,
            model=model,
            clear=clear,
            hide_null=hide_null,
            nulls_large=nulls_large,
        )
    else:
        sort_column = None
    return paginators.SeekPaginator(
        query,
        kwargs['per_page'],
        index_column,
        sort_column=sort_column,
        count=count,
    )
Beispiel #2
0
 def test_iter_paginator(self):
     records = [factories.CandidateHistoryFactory() for _ in range(10)]
     paginator = paginators.SeekPaginator(
         models.CandidateHistory.query,
         per_page=5,
         index_column=models.CandidateHistory.idx,
     )
     iterator = tasks.iter_paginator(paginator)
     assert [each.idx
             for each in records] == [each.idx for each in iterator]
Beispiel #3
0
def fetch_seek_page(query, kwargs, index_column, clear=False, count=None, cap=100, eager=True):
    check_cap(kwargs, cap)
    model = index_column.class_
    sort, hide_null, nulls_large = kwargs['sort'], kwargs['sort_hide_null'], kwargs['sort_nulls_large']
    query, sort_columns = sorting.sort(query, sort, model=model, clear=clear, hide_null=hide_null, nulls_large=nulls_large)
    sort_column = sort_columns[0] if sort_columns else None
    paginator = paginators.SeekPaginator(
        query,
        kwargs['per_page'],
        index_column,
        sort_column=sort_column,
        count=count,
    )
    if sort_column is not None:
        sort_index = kwargs['last_{0}'.format(sort_column[0].key)]
    else:
        sort_index = None
    return paginator.get_page(last_index=kwargs['last_index'], sort_index=sort_index, eager=eager)