from .models import *


elements_on_page = 10

def get_articles(art_kwargs, request_Data=None, from_el=None, to_el=None):

    if request_Data:
        if not from_el and 'from_el' in request_Data:
            from_el = request_Data['from_el']

        if not to_el and 'to_el' in request_Data:
            to_el = request_Data['to_el']

    arts = ArticleModel.objects.filter(**art_kwargs).order_by('-createDT')
    el_count = arts.count()

    if from_el and to_el:
        arts = arts[from_el:to_el]
    elif from_el:
        arts = arts[from_el:]
    elif to_el:
        arts = arts[:to_el]
    else:
        to_el = elements_on_page
        arts = arts[:to_el]

    last_block = False
    if not to_el or to_el >= el_count:
        last_block = True

    if el_count - to_el > elements_on_page:
        next_page_els_count = elements_on_page
    else:
        next_page_els_count = el_count - to_el

    Dict = {
        'articles': arts,
        'last_block': last_block,
        'last_el': to_el,
        'next_page_els_count': next_page_els_count,
        'elements_on_page': elements_on_page
    }

    return Dict
