import math

from django.views.generic.base import TemplateView
from wagtail.models import Site


class SitesListView(TemplateView):
    template_name = "tuning/sites_list.html"

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        sites = list(
            Site.objects.exclude(hostname__contains=".pir-test.eu")
            .exclude(hostname="default")
            .select_related("root_page")
            .order_by("root_page__title")
        )
        third = math.ceil(len(sites) / 3)
        context["sites_first"] = sites[:third]
        context["sites_second"] = sites[third : third * 2]
        context["sites_third"] = sites[third * 2 :]
        return context