forked from rc/aircox
Feat: packaging (#127)
- Add configuration files for packaging - Precommit now uses ruff Co-authored-by: bkfox <thomas bkfox net> Reviewed-on: rc/aircox#127
This commit is contained in:
@ -37,9 +37,5 @@ class StatisticsView(AdminMixin, LogListView, ListView):
|
||||
|
||||
def get_object_list(self, logs, full=False):
|
||||
if not logs.exists():
|
||||
logs = (
|
||||
LogArchiver().load(self.station, self.date)
|
||||
if self.date
|
||||
else []
|
||||
)
|
||||
logs = LogArchiver().load(self.station, self.date) if self.date else []
|
||||
return super().get_object_list(logs, True)
|
||||
|
@ -9,11 +9,7 @@ class ArticleDetailView(PageDetailView):
|
||||
model = Article
|
||||
|
||||
def get_sidebar_queryset(self):
|
||||
qs = (
|
||||
Article.objects.published()
|
||||
.select_related("cover")
|
||||
.order_by("-pub_date")
|
||||
)
|
||||
qs = Article.objects.published().select_related("cover").order_by("-pub_date")
|
||||
return qs
|
||||
|
||||
|
||||
|
@ -24,9 +24,7 @@ class BaseView(TemplateResponseMixin, ContextMixin):
|
||||
|
||||
def get_sidebar_queryset(self):
|
||||
"""Return a queryset of items to render on the side nav."""
|
||||
return (
|
||||
Page.objects.select_subclasses().published().order_by("-pub_date")
|
||||
)
|
||||
return Page.objects.select_subclasses().published().order_by("-pub_date")
|
||||
|
||||
def get_sidebar_url(self):
|
||||
return reverse("page-list")
|
||||
@ -43,20 +41,14 @@ class BaseView(TemplateResponseMixin, ContextMixin):
|
||||
if has_sidebar and "sidebar_object_list" not in kwargs:
|
||||
sidebar_object_list = self.get_sidebar_queryset()
|
||||
if sidebar_object_list is not None:
|
||||
kwargs["sidebar_object_list"] = sidebar_object_list[
|
||||
: self.list_count
|
||||
]
|
||||
kwargs["sidebar_object_list"] = sidebar_object_list[: self.list_count]
|
||||
kwargs["sidebar_list_url"] = self.get_sidebar_url()
|
||||
|
||||
if "audio_streams" not in kwargs:
|
||||
kwargs["audio_streams"] = self.station.streams
|
||||
|
||||
if "model" not in kwargs:
|
||||
model = (
|
||||
getattr(self, "model", None)
|
||||
or hasattr(self, "object")
|
||||
and type(self.object)
|
||||
)
|
||||
model = getattr(self, "model", None) or hasattr(self, "object") and type(self.object)
|
||||
kwargs["model"] = model
|
||||
|
||||
return super().get_context_data(**kwargs)
|
||||
|
@ -30,9 +30,7 @@ class HomeView(BaseView, ListView):
|
||||
current_diff = Diffusion.objects.on_air().now(now).first()
|
||||
next_diffs = Diffusion.objects.on_air().after(now)
|
||||
if current_diff:
|
||||
diffs = [current_diff] + list(
|
||||
next_diffs.exclude(pk=current_diff.pk)[:2]
|
||||
)
|
||||
diffs = [current_diff] + list(next_diffs.exclude(pk=current_diff.pk)[:2])
|
||||
else:
|
||||
diffs = next_diffs[:3]
|
||||
return diffs
|
||||
|
@ -27,13 +27,7 @@ class LogListMixin(GetDateMixin):
|
||||
def get_queryset(self):
|
||||
# only get logs for tracks: log for diffusion will be retrieved
|
||||
# by the diffusions' queryset.
|
||||
qs = (
|
||||
super()
|
||||
.get_queryset()
|
||||
.on_air()
|
||||
.filter(track__isnull=False)
|
||||
.filter(date__lte=tz.now())
|
||||
)
|
||||
qs = super().get_queryset().on_air().filter(track__isnull=False).filter(date__lte=tz.now())
|
||||
return (
|
||||
qs.date(self.date)
|
||||
if self.date is not None
|
||||
@ -43,11 +37,7 @@ class LogListMixin(GetDateMixin):
|
||||
)
|
||||
|
||||
def get_diffusions_queryset(self):
|
||||
qs = (
|
||||
Diffusion.objects.station(self.station)
|
||||
.on_air()
|
||||
.filter(start__lte=tz.now())
|
||||
)
|
||||
qs = Diffusion.objects.station(self.station).on_air().filter(start__lte=tz.now())
|
||||
return (
|
||||
qs.date(self.date)
|
||||
if self.date is not None
|
||||
@ -87,9 +77,7 @@ class LogListView(AttachedToMixin, BaseView, LogListMixin, ListView):
|
||||
kwargs.update(
|
||||
{
|
||||
"date": self.date,
|
||||
"dates": (
|
||||
today - datetime.timedelta(days=i) for i in range(0, 7)
|
||||
),
|
||||
"dates": (today - datetime.timedelta(days=i) for i in range(0, 7)),
|
||||
"object_list": self.get_object_list(self.object_list),
|
||||
}
|
||||
)
|
||||
@ -124,6 +112,4 @@ class LogListAPIView(LogListMixin, BaseAPIView, ListAPIView):
|
||||
|
||||
def get_serializer(self, queryset, *args, **kwargs):
|
||||
full = bool(self.request.GET.get("full"))
|
||||
return super().get_serializer(
|
||||
self.get_object_list(queryset, full), *args, **kwargs
|
||||
)
|
||||
return super().get_serializer(self.get_object_list(queryset, full), *args, **kwargs)
|
||||
|
@ -14,13 +14,7 @@ class GetDateMixin:
|
||||
|
||||
def get_date(self):
|
||||
date = self.request.GET.get("date")
|
||||
return (
|
||||
str_to_date(date, "-")
|
||||
if date is not None
|
||||
else self.kwargs["date"]
|
||||
if "date" in self.kwargs
|
||||
else None
|
||||
)
|
||||
return str_to_date(date, "-") if date is not None else self.kwargs["date"] if "date" in self.kwargs else None
|
||||
|
||||
def get(self, *args, **kwargs):
|
||||
if self.redirect_date_url and self.request.GET.get("date"):
|
||||
@ -55,9 +49,7 @@ class ParentMixin:
|
||||
return
|
||||
|
||||
lookup = {self.parent_field: kwargs[self.parent_url_kwarg]}
|
||||
return get_object_or_404(
|
||||
self.parent_model.objects.select_related("cover"), **lookup
|
||||
)
|
||||
return get_object_or_404(self.parent_model.objects.select_related("cover"), **lookup)
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
self.parent = self.get_parent(request, *args, **kwargs)
|
||||
@ -83,11 +75,7 @@ class AttachedToMixin:
|
||||
|
||||
def get_page(self):
|
||||
if self.attach_to_value is not None:
|
||||
return (
|
||||
StaticPage.objects.filter(attach_to=self.attach_to_value)
|
||||
.published()
|
||||
.first()
|
||||
)
|
||||
return StaticPage.objects.filter(attach_to=self.attach_to_value).published().first()
|
||||
return super().get_page()
|
||||
|
||||
|
||||
|
@ -32,13 +32,7 @@ class BasePageListView(AttachedToMixin, ParentMixin, BaseView, ListView):
|
||||
return super().get(*args, **kwargs)
|
||||
|
||||
def get_queryset(self):
|
||||
return (
|
||||
super()
|
||||
.get_queryset()
|
||||
.select_subclasses()
|
||||
.published()
|
||||
.select_related("cover")
|
||||
)
|
||||
return super().get_queryset().select_subclasses().published().select_related("cover")
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
kwargs.setdefault("item_template_name", self.item_template_name)
|
||||
@ -97,12 +91,7 @@ class PageListView(FiltersMixin, BasePageListView):
|
||||
return super().get_filterset(data, query)
|
||||
|
||||
def get_queryset(self):
|
||||
qs = (
|
||||
super()
|
||||
.get_queryset()
|
||||
.select_related("category")
|
||||
.order_by("-pub_date")
|
||||
)
|
||||
qs = super().get_queryset().select_related("category").order_by("-pub_date")
|
||||
return qs
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
@ -131,9 +120,7 @@ class PageDetailView(BasePageDetailView):
|
||||
def get_context_data(self, **kwargs):
|
||||
if self.object.allow_comments and "comment_form" not in kwargs:
|
||||
kwargs["comment_form"] = CommentForm()
|
||||
kwargs["comments"] = Comment.objects.filter(page=self.object).order_by(
|
||||
"-date"
|
||||
)
|
||||
kwargs["comments"] = Comment.objects.filter(page=self.object).order_by("-date")
|
||||
return super().get_context_data(**kwargs)
|
||||
|
||||
@classmethod
|
||||
|
@ -12,9 +12,7 @@ class BaseProgramMixin:
|
||||
return self.object
|
||||
|
||||
def get_sidebar_url(self):
|
||||
return reverse(
|
||||
"program-page-list", kwargs={"parent_slug": self.program.slug}
|
||||
)
|
||||
return reverse("program-page-list", kwargs={"parent_slug": self.program.slug})
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
self.program = self.get_program()
|
||||
|
Reference in New Issue
Block a user