From f6e871d8095670841121f248614f1dca0cedd663 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Sat, 18 Apr 2020 15:26:07 +0200
Subject: [PATCH] Fix and reorder imports

---
 aleksis/apps/untis/forms.py                        |  3 ++-
 .../untis/management/commands/untis_import_xml.py  |  2 +-
 aleksis/apps/untis/model_extensions.py             |  5 +++--
 aleksis/apps/untis/settings.py                     |  3 ++-
 .../apps/untis/util/mysql/importers/absences.py    | 12 ++++++------
 .../apps/untis/util/mysql/importers/common_data.py |  8 ++++----
 aleksis/apps/untis/util/mysql/importers/events.py  | 12 ++++++------
 .../apps/untis/util/mysql/importers/holidays.py    |  2 +-
 aleksis/apps/untis/util/mysql/importers/lessons.py | 13 +++++++------
 .../untis/util/mysql/importers/substitutions.py    | 14 ++++++++------
 aleksis/apps/untis/util/mysql/main.py              |  6 +++---
 aleksis/apps/untis/util/mysql/util.py              |  8 ++++----
 aleksis/apps/untis/views.py                        |  2 +-
 13 files changed, 48 insertions(+), 42 deletions(-)

diff --git a/aleksis/apps/untis/forms.py b/aleksis/apps/untis/forms.py
index cf84b48..fee160c 100644
--- a/aleksis/apps/untis/forms.py
+++ b/aleksis/apps/untis/forms.py
@@ -1,6 +1,7 @@
-from constance import config
 from django import forms
 from django.utils.translation import ugettext_lazy as _
+
+from constance import config
 from material import Fieldset
 
 from aleksis.core.forms import EditGroupForm
diff --git a/aleksis/apps/untis/management/commands/untis_import_xml.py b/aleksis/apps/untis/management/commands/untis_import_xml.py
index 084c12f..efbaa67 100644
--- a/aleksis/apps/untis/management/commands/untis_import_xml.py
+++ b/aleksis/apps/untis/management/commands/untis_import_xml.py
@@ -1,7 +1,7 @@
 from django.core.management.base import BaseCommand
 from django.utils.translation import ugettext as _
 
-from aleksis.apps.untis.util.xml.xml import untis_import_xml
+from ...util.xml.xml import untis_import_xml
 
 
 class Command(BaseCommand):
diff --git a/aleksis/apps/untis/model_extensions.py b/aleksis/apps/untis/model_extensions.py
index 1095d6f..58f0502 100644
--- a/aleksis/apps/untis/model_extensions.py
+++ b/aleksis/apps/untis/model_extensions.py
@@ -1,6 +1,7 @@
-from constance import config
 from django.utils.translation import gettext as _
-from jsonstore import IntegerField, CharField
+
+from constance import config
+from jsonstore import CharField, IntegerField
 
 from aleksis.apps.chronos import models as chronos_models
 from aleksis.core import models as core_models
diff --git a/aleksis/apps/untis/settings.py b/aleksis/apps/untis/settings.py
index 6cbfe3a..17fa5ad 100644
--- a/aleksis/apps/untis/settings.py
+++ b/aleksis/apps/untis/settings.py
@@ -1,6 +1,7 @@
-from aleksis.core.settings import _settings
 from django.utils.translation import gettext_lazy as _
 
+from aleksis.core.settings import _settings
+
 DATABASES = {
     "untis": {
         "ENGINE": "django.db.backends.mysql",
diff --git a/aleksis/apps/untis/util/mysql/importers/absences.py b/aleksis/apps/untis/util/mysql/importers/absences.py
index 2000f17..9527e00 100644
--- a/aleksis/apps/untis/util/mysql/importers/absences.py
+++ b/aleksis/apps/untis/util/mysql/importers/absences.py
@@ -1,5 +1,5 @@
-from enum import Enum
 import logging
+from enum import Enum
 
 from tqdm import tqdm
 
@@ -7,13 +7,13 @@ from aleksis.apps.chronos import models as chronos_models
 
 from .... import models as mysql_models
 from ..util import (
-    run_default_filter,
-    get_term,
-    untis_date_to_date,
-    move_weekday_to_range,
+    TQDM_DEFAULTS,
     get_first_period,
     get_last_period,
-    TQDM_DEFAULTS,
+    get_term,
+    move_weekday_to_range,
+    run_default_filter,
+    untis_date_to_date,
 )
 
 logger = logging.getLogger(__name__)
diff --git a/aleksis/apps/untis/util/mysql/importers/common_data.py b/aleksis/apps/untis/util/mysql/importers/common_data.py
index 7f44dd5..e539af7 100644
--- a/aleksis/apps/untis/util/mysql/importers/common_data.py
+++ b/aleksis/apps/untis/util/mysql/importers/common_data.py
@@ -1,7 +1,7 @@
-from enum import Enum
 import logging
 from datetime import time
-from typing import List, Dict
+from enum import Enum
+from typing import Dict, List
 
 from constance import config
 from tqdm import tqdm
@@ -11,11 +11,11 @@ from aleksis.core import models as core_models
 
 from .... import models as mysql_models
 from ..util import (
+    TQDM_DEFAULTS,
+    connect_untis_fields,
     run_default_filter,
     untis_colour_to_hex,
     untis_split_first,
-    connect_untis_fields,
-    TQDM_DEFAULTS,
 )
 
 logger = logging.getLogger(__name__)
diff --git a/aleksis/apps/untis/util/mysql/importers/events.py b/aleksis/apps/untis/util/mysql/importers/events.py
index 381e503..87b8bf3 100644
--- a/aleksis/apps/untis/util/mysql/importers/events.py
+++ b/aleksis/apps/untis/util/mysql/importers/events.py
@@ -6,14 +6,14 @@ from aleksis.apps.chronos import models as chronos_models
 
 from .... import models as mysql_models
 from ..util import (
-    run_default_filter,
-    get_term,
-    untis_date_to_date,
-    move_weekday_to_range,
+    TQDM_DEFAULTS,
+    connect_untis_fields,
     get_first_period,
     get_last_period,
-    connect_untis_fields,
-    TQDM_DEFAULTS,
+    get_term,
+    move_weekday_to_range,
+    run_default_filter,
+    untis_date_to_date,
 )
 
 logger = logging.getLogger(__name__)
diff --git a/aleksis/apps/untis/util/mysql/importers/holidays.py b/aleksis/apps/untis/util/mysql/importers/holidays.py
index 9769fb0..d3f9d61 100644
--- a/aleksis/apps/untis/util/mysql/importers/holidays.py
+++ b/aleksis/apps/untis/util/mysql/importers/holidays.py
@@ -6,7 +6,7 @@ from tqdm import tqdm
 from aleksis.apps.chronos import models as chronos_models
 
 from .... import models as mysql_models
-from ..util import run_default_filter, untis_date_to_date, TQDM_DEFAULTS
+from ..util import TQDM_DEFAULTS, run_default_filter, untis_date_to_date
 
 logger = logging.getLogger(__name__)
 
diff --git a/aleksis/apps/untis/util/mysql/importers/lessons.py b/aleksis/apps/untis/util/mysql/importers/lessons.py
index cc3f49b..b9f79ab 100644
--- a/aleksis/apps/untis/util/mysql/importers/lessons.py
+++ b/aleksis/apps/untis/util/mysql/importers/lessons.py
@@ -1,8 +1,9 @@
 import logging
 from datetime import timedelta
 
-from constance import config
 from django.utils.translation import gettext as _
+
+from constance import config
 from tqdm import tqdm
 
 from aleksis.apps.chronos import models as chronos_models
@@ -10,13 +11,13 @@ from aleksis.core import models as core_models
 
 from .... import models as mysql_models
 from ..util import (
-    run_default_filter,
-    untis_split_third,
-    untis_date_to_date,
-    get_term,
+    TQDM_DEFAULTS,
     compare_m2m,
     connect_untis_fields,
-    TQDM_DEFAULTS,
+    get_term,
+    run_default_filter,
+    untis_date_to_date,
+    untis_split_third,
 )
 
 logger = logging.getLogger(__name__)
diff --git a/aleksis/apps/untis/util/mysql/importers/substitutions.py b/aleksis/apps/untis/util/mysql/importers/substitutions.py
index 657c38f..2f62bf2 100644
--- a/aleksis/apps/untis/util/mysql/importers/substitutions.py
+++ b/aleksis/apps/untis/util/mysql/importers/substitutions.py
@@ -1,19 +1,21 @@
-from enum import Enum
 import logging
+from enum import Enum
 
-from calendarweek import CalendarWeek
 from django.db.models import Q
+
+from calendarweek import CalendarWeek
 from tqdm import tqdm
 
 from aleksis.apps.chronos import models as chronos_models
+
+from .... import models as mysql_models
 from ..util import (
+    TQDM_DEFAULTS,
+    get_term,
     run_default_filter,
-    untis_split_first,
     untis_date_to_date,
-    get_term,
-    TQDM_DEFAULTS,
+    untis_split_first,
 )
-from .... import models as mysql_models
 
 logger = logging.getLogger(__name__)
 
diff --git a/aleksis/apps/untis/util/mysql/main.py b/aleksis/apps/untis/util/mysql/main.py
index be8aa46..b28aae4 100644
--- a/aleksis/apps/untis/util/mysql/main.py
+++ b/aleksis/apps/untis/util/mysql/main.py
@@ -2,14 +2,14 @@ from django.db import transaction
 
 from .importers.absences import import_absences
 from .importers.common_data import (
-    import_subjects,
+    import_absence_reasons,
+    import_breaks,
     import_classes,
     import_rooms,
+    import_subjects,
     import_supervision_areas,
     import_teachers,
     import_time_periods,
-    import_breaks,
-    import_absence_reasons,
 )
 from .importers.events import import_events
 from .importers.holidays import import_holidays
diff --git a/aleksis/apps/untis/util/mysql/util.py b/aleksis/apps/untis/util/mysql/util.py
index 45bc44a..db76b41 100644
--- a/aleksis/apps/untis/util/mysql/util.py
+++ b/aleksis/apps/untis/util/mysql/util.py
@@ -1,8 +1,8 @@
 import logging
 from datetime import date
-from typing import Optional, Union, Sequence, Callable, Any
+from typing import Any, Callable, Optional, Sequence, Union
 
-from django.db.models import QuerySet, Model
+from django.db.models import Model, QuerySet
 from django.utils import timezone
 
 from ... import models as mysql_models
@@ -116,13 +116,13 @@ def untis_colour_to_hex(colour: int) -> str:
     return "#" + hex_rgb
 
 
-def compare_m2m(a: Union[List[Model], QuerySet], b: Union[List[Model], QuerySet]) -> bool:
+def compare_m2m(a: Union[Sequence[Model], QuerySet], b: Union[Sequence[Model], QuerySet]) -> bool:
     """ Compare if content of two m2m fields is equal """
 
     return set(a) == set(b)
 
 
-def connect_untis_fields(obj: Model, attr: str, limit: int) -> List[str]:
+def connect_untis_fields(obj: Model, attr: str, limit: int) -> Sequence[str]:
     """ Connects data from multiple DB fields
 
     Untis splits structured data, like lists, as comma-separated string into
diff --git a/aleksis/apps/untis/views.py b/aleksis/apps/untis/views.py
index a0b1847..2221a3b 100644
--- a/aleksis/apps/untis/views.py
+++ b/aleksis/apps/untis/views.py
@@ -5,7 +5,7 @@ from django.shortcuts import render
 from aleksis.core.decorators import admin_required
 
 from .forms import UntisUploadForm
-from aleksis.apps.untis.util.xml.xml import untis_import_xml
+from .util.xml.xml import untis_import_xml
 
 
 @login_required
-- 
GitLab