From 003f17ef23f5ed9fb87ef3ad14aaeeaa9173a703 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Wed, 5 Aug 2020 12:26:02 +0200 Subject: [PATCH] Move append_if_all to util and add typing/docstring --- aleksis/apps/alsijil/util.py | 9 +++++++++ aleksis/apps/alsijil/views.py | 6 +----- 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 aleksis/apps/alsijil/util.py diff --git a/aleksis/apps/alsijil/util.py b/aleksis/apps/alsijil/util.py new file mode 100644 index 000000000..da3580592 --- /dev/null +++ b/aleksis/apps/alsijil/util.py @@ -0,0 +1,9 @@ +from typing import List + + +def append_if_all(iterable: List, *args) -> List: + """Append args to a list if all args are true-like.""" + if all(args): + for a in args: + iterable.append(a) + return iterable diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index b3fdbd7eb..f97509307 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -13,6 +13,7 @@ from django_tables2 import SingleTableView from reversion.views import RevisionMixin from rules.contrib.views import PermissionRequiredMixin +from aleksis.apps.alsijil.util import append_if_all from aleksis.apps.chronos.managers import TimetableType from aleksis.apps.chronos.models import LessonPeriod from aleksis.apps.chronos.util.chronos_helpers import get_el_by_pk @@ -294,11 +295,6 @@ def week_view( lesson_periods, key=lambda x: (x.period.weekday, x.period.period) ) - def append_if_all(iterable, *args): - if all(args): - for a in args: - iterable.append(a) - context["extra_marks"] = ExtraMark.objects.all() context["week"] = wanted_week context["weeks"] = get_weeks_for_year(year=wanted_week.year) -- GitLab