diff --git a/aleksis/apps/untis/forms.py b/aleksis/apps/untis/forms.py
index f642bbff839ce6b3f416a191a6703474d7360a0f..6809da79406f43ba3b9bbb9dbc1bc23dc07e2e8e 100644
--- a/aleksis/apps/untis/forms.py
+++ b/aleksis/apps/untis/forms.py
@@ -29,9 +29,7 @@ class GroupSubjectForm(forms.ModelForm):
         self.fields["short_name"].widget = forms.HiddenInput()
 
 
-GroupSubjectFormset = forms.modelformset_factory(
-    Group, form=GroupSubjectForm, max_num=0, extra=0
-)
+GroupSubjectFormset = forms.modelformset_factory(Group, form=GroupSubjectForm, max_num=0, extra=0)
 
 if get_site_preferences()["untis_mysql__use_course_groups"]:
     EditGroupForm.add_node_to_layout(Fieldset(_("UNTIS import"), "untis_subject"))
diff --git a/aleksis/apps/untis/menus.py b/aleksis/apps/untis/menus.py
index ada88becf99c14623459d5a4867577dcd58f7819..39df78cd381e5cdca39db3949574deb23292170d 100644
--- a/aleksis/apps/untis/menus.py
+++ b/aleksis/apps/untis/menus.py
@@ -13,7 +13,10 @@ MENUS = {
             "name": _("Link subjects to groups (for UNTIS MySQL import)"),
             "url": "untis_groups_subjects",
             "validators": [
-                ("aleksis.core.util.predicates.permission_validator", "untis.assign_subjects_to_groups"),
+                (
+                    "aleksis.core.util.predicates.permission_validator",
+                    "untis.assign_subjects_to_groups",
+                ),
             ],
         },
     ]
diff --git a/aleksis/apps/untis/model_extensions.py b/aleksis/apps/untis/model_extensions.py
index 36d947ab06e99c7bc5f11ba1b98774546fbd3f38..708220bfb96002aa2ed439e4ef5a06dd25a3b6de 100644
--- a/aleksis/apps/untis/model_extensions.py
+++ b/aleksis/apps/untis/model_extensions.py
@@ -74,4 +74,3 @@ chronos_models.Holiday.field(
 chronos_models.ExtraLesson.field(
     import_ref_untis=IntegerField(verbose_name=_("UNTIS import reference"), null=True, blank=True)
 )
-
diff --git a/aleksis/apps/untis/models.py b/aleksis/apps/untis/models.py
index cd4dcfffd6e4a3f07b3f165980c952e2acea9d84..31a6886889ff9092ac7ea63664cbdfb9470e1ad3 100644
--- a/aleksis/apps/untis/models.py
+++ b/aleksis/apps/untis/models.py
@@ -5,6 +5,7 @@
 
 from django.db import models
 from django.utils.translation import gettext as _
+
 from aleksis.core.mixins import PureDjangoModel
 
 
diff --git a/aleksis/apps/untis/preferences.py b/aleksis/apps/untis/preferences.py
index d2193253f623bdc0c30dd7800e7d830c9587793a..bae4454f9d1d7766eeeb2feb8ec071236cf0e950 100644
--- a/aleksis/apps/untis/preferences.py
+++ b/aleksis/apps/untis/preferences.py
@@ -1,4 +1,5 @@
 from django.utils.translation import gettext as _
+
 from dynamic_preferences.preferences import Section
 from dynamic_preferences.types import BooleanPreference
 
@@ -78,6 +79,5 @@ class UseCourseGroups(BooleanPreference):
     default = True
     verbose_name = _("Use course groups")
     help_text = _(
-        "Build or search course groups for every course"
-        " instead of setting classes as groups."
+        "Build or search course groups for every course" " instead of setting classes as groups."
     )
diff --git a/aleksis/apps/untis/rules.py b/aleksis/apps/untis/rules.py
index 873742401e128834dddc9473a8d7702165abf090..55740b1bbb6a09c58f711ee5f7fd285414c8b275 100644
--- a/aleksis/apps/untis/rules.py
+++ b/aleksis/apps/untis/rules.py
@@ -1,6 +1,6 @@
 from rules import add_perm
 
-from aleksis.core.util.predicates import has_person, has_global_perm
+from aleksis.core.util.predicates import has_global_perm, has_person
 
 # Do XML import
 do_xml_import_predicate = has_person & has_global_perm("untis.do_xml_import")
@@ -8,5 +8,7 @@ add_perm("untis.do_xml_import", do_xml_import_predicate)
 
 
 # Do XML import
-assign_subjects_to_groups_predicate = has_person & has_global_perm("untis.assign_subjects_to_groups")
+assign_subjects_to_groups_predicate = has_person & has_global_perm(
+    "untis.assign_subjects_to_groups"
+)
 add_perm("untis.assign_subjects_to_groups", assign_subjects_to_groups_predicate)
diff --git a/aleksis/apps/untis/util/mysql/importers/lessons.py b/aleksis/apps/untis/util/mysql/importers/lessons.py
index eea3bbc3ac8372584ff1ba0a45d83380e18ad321..b6d6b0264b7d6321ca275149f78819589e82acdb 100644
--- a/aleksis/apps/untis/util/mysql/importers/lessons.py
+++ b/aleksis/apps/untis/util/mysql/importers/lessons.py
@@ -261,5 +261,7 @@ def import_lessons(time_periods_ref, rooms_ref, subjects_ref, teachers_ref, clas
                 else:
                     # Create new lesson period
 
-                    chronos_models.LessonPeriod.objects.create(lesson=lesson, period=time_period, room=room, element_id_untis=j)
+                    chronos_models.LessonPeriod.objects.create(
+                        lesson=lesson, period=time_period, room=room, element_id_untis=j
+                    )
                     logger.info("      New time period added")
diff --git a/aleksis/apps/untis/util/mysql/importers/substitutions.py b/aleksis/apps/untis/util/mysql/importers/substitutions.py
index 40242a4fe740cd4e802b918632ebab06281b1ad0..e2d5fa7332d400ed70c0a3d501cfc1c6cabaf8b9 100644
--- a/aleksis/apps/untis/util/mysql/importers/substitutions.py
+++ b/aleksis/apps/untis/util/mysql/importers/substitutions.py
@@ -26,12 +26,7 @@ class SubstitutionFlag(Enum):
 
 
 def import_substitutions(
-    teachers_ref,
-    subjects_ref,
-    rooms_ref,
-    classes_ref,
-    supervision_areas_ref,
-    time_periods_ref,
+    teachers_ref, subjects_ref, rooms_ref, classes_ref, supervision_areas_ref, time_periods_ref,
 ):
     """ Import substitutions """
 
@@ -171,18 +166,13 @@ def import_substitutions(
                 logger.info("  Extra lesson detected")
                 time_period = time_periods_ref[date.weekday()][period]
 
-                groups = [
-                    classes_ref[pk] for pk in untis_split_first(sub.classids, int)
-                ]
+                groups = [classes_ref[pk] for pk in untis_split_first(sub.classids, int)]
 
                 room = room_old if not room_new and room_old else room_new
                 subject = subject_old if not subject_new else subject_new
                 teachers = [teacher_old] if not teacher_new else [teacher_new]
 
-                (
-                    extra_lesson,
-                    created,
-                ) = chronos_models.ExtraLesson.objects.update_or_create(
+                (extra_lesson, created,) = chronos_models.ExtraLesson.objects.update_or_create(
                     import_ref_untis=sub_id,
                     defaults={
                         "week": week.week,
@@ -244,8 +234,9 @@ def import_substitutions(
             s.delete()
 
     # Delete all no longer existing supervision substitutions
-    for s in chronos_models.SupervisionSubstitution.objects.filter(date__gte=date_start, date__lte=date_end):
+    for s in chronos_models.SupervisionSubstitution.objects.filter(
+        date__gte=date_start, date__lte=date_end
+    ):
         if s.import_ref_untis and s.import_ref_untis not in existing_subs:
             logger.info("Supervision substitution {} deleted".format(s.id))
             s.delete()
-
diff --git a/aleksis/apps/untis/util/mysql/main.py b/aleksis/apps/untis/util/mysql/main.py
index 7fd537e5629c7f8790d5f421839a924a7b3d3808..dc604219cf3914a3ef61c1ec4714cb352c93bdcd 100644
--- a/aleksis/apps/untis/util/mysql/main.py
+++ b/aleksis/apps/untis/util/mysql/main.py
@@ -43,7 +43,9 @@ def untis_import_mysql():
 
     # Substitutions
     import_absences(absence_reasons_ref, time_periods_ref, teachers_ref, classes_ref, rooms_ref)
-    import_substitutions(teachers_ref, subjects_ref, rooms_ref, classes_ref, supervision_areas_ref, time_periods_ref)
+    import_substitutions(
+        teachers_ref, subjects_ref, rooms_ref, classes_ref, supervision_areas_ref, time_periods_ref
+    )
 
     # Events
     import_events(time_periods_ref, teachers_ref, classes_ref, rooms_ref)
diff --git a/aleksis/apps/untis/util/xml/xml.py b/aleksis/apps/untis/util/xml/xml.py
index 696f467da2d9175706a0d277139266c5bd90428e..7a039218967a203d4bb024672bef1c6d893d2241 100644
--- a/aleksis/apps/untis/util/xml/xml.py
+++ b/aleksis/apps/untis/util/xml/xml.py
@@ -39,7 +39,8 @@ def untis_import_xml(request: HttpRequest, untis_xml: Union[BinaryIO, str]) -> N
         colour_bg = get_child_node_text(subject_node, "backcolor")
 
         Subject.objects.update_or_create(
-            short_name=short_name, defaults={"name": name, "colour_fg": colour_fg, "colour_bg": colour_bg},
+            short_name=short_name,
+            defaults={"name": name, "colour_fg": colour_fg, "colour_bg": colour_bg},
         )
 
     periods = dom.getElementsByTagName("timeperiod")
diff --git a/aleksis/apps/untis/views.py b/aleksis/apps/untis/views.py
index 232d77f483ca6fc93def1651ba97e52171a66422..d69284154bd70c43237936750c7e0bff4648943b 100644
--- a/aleksis/apps/untis/views.py
+++ b/aleksis/apps/untis/views.py
@@ -8,7 +8,7 @@ from rules.contrib.views import permission_required
 
 from aleksis.core.models import Group
 
-from .forms import UntisUploadForm, GroupSubjectFormset
+from .forms import GroupSubjectFormset, UntisUploadForm
 from .util.xml.xml import untis_import_xml
 
 
@@ -43,9 +43,7 @@ def groups_subjects(request: HttpRequest) -> HttpResponse:
     groups_paged = groups_qs.filter(id__in=[g.id for g in page])
 
     # Create filtered queryset
-    group_subject_formset = GroupSubjectFormset(
-        request.POST or None, queryset=groups_paged
-    )
+    group_subject_formset = GroupSubjectFormset(request.POST or None, queryset=groups_paged)
 
     # Check if form is submitted and valid, then save
     if request.method == "POST":
@@ -58,5 +56,3 @@ def groups_subjects(request: HttpRequest) -> HttpResponse:
     context["paginator"] = paginator
 
     return render(request, "untis/groups_subjects.html", context)
-
-