Skip to content
Snippets Groups Projects
Verified Commit 0dbb4147 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Reformat and fix lint

parent 50375c89
No related branches found
No related tags found
1 merge request!196Update pyproject.toml
Pipeline #194828 failed
......@@ -25,6 +25,6 @@ class Command(BaseCommand):
def handle(self, *args, **options):
command = COMMANDS_BY_NAME[options["command"]]
background = options["background"]
school_id = options.get("school_id", None)
version = options.get("plan_version", None)
school_id = options.get("school_id")
version = options.get("plan_version")
command.run(background=background, school_id=school_id, version=version)
......@@ -4,12 +4,22 @@ from aleksis.apps.untis.util.mysql.util import (
untis_split_third,
)
test_lesson_element = """49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;,49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;"""
test_lesson_element = (
'49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, Fokus Physik"~'
'"Nawi"~~n~~;11;12;13;14;15;16;17;,49~0~302~7r;~0;~0~0~175608~~'
'~~~"Freiraum: Naturwissenschaften, Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;'
)
test_lesson_element_partial = """49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;"""
test_lesson_element_partial = (
'49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften,'
+ ' Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;'
)
test_lesson_element_partial_partial = ";11;12;13;14;15;16;17;"
test_lesson_element_second = """46~0~92~45;~45;~12~11~0~~B~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~21700,45~0~92~45;~45;~0~0~19000~~~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~0"""
test_lesson_element_second = (
'46~0~92~45;~45;~12~11~0~~B~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~'
+ '21700,45~0~92~45;~45;~0~0~19000~~~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~0'
)
def test_untis_split_first():
......@@ -22,14 +32,16 @@ def test_untis_split_first():
assert len(untis_split_first(test_lesson_element)) == 2
assert untis_split_first(test_lesson_element) == [
"""49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;""",
"""49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;""",
'49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, '
+ 'Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;',
'49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, '
+ 'Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;',
]
assert len(untis_split_first(test_lesson_element_second)) == 2
assert untis_split_first(test_lesson_element_second) == [
"""46~0~92~45;~45;~12~11~0~~B~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~21700""",
"""45~0~92~45;~45;~0~0~19000~~~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~0""",
'46~0~92~45;~45;~12~11~0~~B~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~21700',
'45~0~92~45;~45;~0~0~19000~~~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~0',
]
......@@ -45,7 +57,7 @@ def test_untis_split_second():
assert untis_split_second("1~~3", int, remove_empty=False) == [1, None, 3]
assert untis_split_second("1~~3", int) == [1, 3]
assert untis_split_second(""""asdf"~"asdf"~"asdf""") == ["asdf", "asdf", "asdf"]
assert untis_split_second('"asdf"~"asdf"~"asdf') == ["asdf", "asdf", "asdf"]
assert len(untis_split_second(test_lesson_element_partial, remove_empty=False)) == 18
assert untis_split_second(test_lesson_element_partial, remove_empty=False) == [
......@@ -82,7 +94,7 @@ def test_untis_split_third():
assert untis_split_third("1;;3", int, remove_empty=False) == [1, None, 3]
assert untis_split_third("1;;3", int) == [1, 3]
assert untis_split_third(""""asdf";"asdf";"asdf""") == ["asdf", "asdf", "asdf"]
assert untis_split_third('"asdf";"asdf";"asdf') == ["asdf", "asdf", "asdf"]
assert len(untis_split_third(test_lesson_element_partial_partial)) == 7
assert untis_split_third(test_lesson_element_partial_partial) == [
......
......@@ -2,7 +2,6 @@ import logging
import re
from datetime import datetime, time, timedelta
from enum import Enum
from typing import Dict, Tuple
from django.utils.translation import gettext as _
......@@ -34,7 +33,7 @@ class CommonDataId(Enum):
PERIOD = 40
def import_subjects(validity_range: ValidityRange) -> Dict[int, cursus_models.Subject]:
def import_subjects(validity_range: ValidityRange) -> dict[int, cursus_models.Subject]:
"""Import subjects."""
subjects_ref = {}
......@@ -98,7 +97,7 @@ def import_subjects(validity_range: ValidityRange) -> Dict[int, cursus_models.Su
return subjects_ref
def import_teachers(validity_range: ValidityRange) -> Dict[int, core_models.Person]:
def import_teachers(validity_range: ValidityRange) -> dict[int, core_models.Person]:
"""Import teachers."""
teachers_ref = {}
......@@ -161,8 +160,8 @@ def import_teachers(validity_range: ValidityRange) -> Dict[int, core_models.Pers
def import_classes(
validity_range: ValidityRange, teachers_ref: Dict[int, core_models.Person]
) -> Dict[int, core_models.Group]:
validity_range: ValidityRange, teachers_ref: dict[int, core_models.Person]
) -> dict[int, core_models.Group]:
"""Import classes."""
classes_ref = {}
......@@ -271,7 +270,7 @@ def import_classes(
return classes_ref
def import_rooms(validity_range: ValidityRange) -> Dict[int, core_models.Room]:
def import_rooms(validity_range: ValidityRange) -> dict[int, core_models.Room]:
"""Import rooms."""
ref = {}
......@@ -319,7 +318,7 @@ def import_rooms(validity_range: ValidityRange) -> Dict[int, core_models.Room]:
def import_supervision_areas(
validity_range: ValidityRange, breaks_ref, teachers_ref
) -> Dict[int, core_models.Room]:
) -> dict[int, core_models.Room]:
"""Import supervision areas."""
ref = {}
......@@ -329,9 +328,8 @@ def import_supervision_areas(
for area in tqdm(areas, desc="Import supervision areas", **TQDM_DEFAULTS):
if not area.name:
raise RuntimeError(
"Supervision area ID {}: Cannot import supervision area without short name.".format(
area.corridor_id
)
f"Supervision area ID {area.corridor_id}: "
"Cannot import supervision area without short name."
)
short_name = area.name
......@@ -391,9 +389,8 @@ def import_supervision_areas(
slot = breaks_ref[weekday][before_period_number]
logger.info(
"Import supervision on weekday {} before the {}. period (teacher {})".format(
weekday, before_period_number, teacher
)
f"Import supervision on weekday {weekday} before the "
f"{before_period_number}. period (teacher {teacher})"
)
# Get or create
......@@ -461,8 +458,8 @@ def import_supervision_areas(
def import_slots(
validity_range: ValidityRange,
) -> Tuple[
Dict[int, Dict[int, lesrooster_models.Slot]], Dict[int, Dict[int, lesrooster_models.BreakSlot]]
) -> tuple[
dict[int, dict[int, lesrooster_models.Slot]], dict[int, dict[int, lesrooster_models.BreakSlot]]
]:
"""Import time periods an breaks."""
times = (
......@@ -554,7 +551,7 @@ def import_slots(
def import_absence_reasons(
validity_range: ValidityRange,
) -> Dict[int, kolego_models.AbsenceReason]:
) -> dict[int, kolego_models.AbsenceReason]:
"""Import absence reasons."""
ref = {}
......@@ -566,9 +563,8 @@ def import_absence_reasons(
for reason in tqdm(reasons, desc="Import absence reasons", **TQDM_DEFAULTS):
if not reason.name:
raise RuntimeError(
"Absence reason ID {}: Cannot import absence reason without short name.".format(
reason.absence_reason_id
)
f"Absence reason ID {reason.absence_reason_id}: "
"Cannot import absence reason without short name."
)
# Build values
......
import logging
from typing import Dict
from tqdm import tqdm
......@@ -14,7 +13,7 @@ logger = logging.getLogger(__name__)
def import_holidays(
validity_range: lesrooster_models.ValidityRange,
) -> Dict[int, core_models.Holiday]:
) -> dict[int, core_models.Holiday]:
"""Import holidays."""
ref = {}
......
import logging
from datetime import date, timedelta
from typing import Dict, Optional
from typing import Optional
from django.db.models import Max, OuterRef, Q, QuerySet, Subquery
from django.utils import timezone
......@@ -62,7 +62,7 @@ def import_terms(
qs: Optional[QuerySet] = None,
school_id: Optional[int] = None,
version: Optional[int] = None,
) -> Dict[int, lesrooster_models.ValidityRange]:
) -> dict[int, lesrooster_models.ValidityRange]:
"""Import terms and school years as validity ranges and school terms."""
ranges_ref = {}
......
import csv
import logging
import re
from collections.abc import Sequence
from datetime import date, datetime
from typing import Any, Callable, Optional, Sequence, Type, Union
from typing import Any, Callable, Optional, Union
from django.db.models import Model, QuerySet
......@@ -104,7 +105,7 @@ class UntisSemicolonDialect(UntisDialect):
delimiter = ";"
def split_with_csv_parser(s: str, dialect: Type[csv.Dialect]) -> Sequence:
def split_with_csv_parser(s: str, dialect: type[csv.Dialect]) -> Sequence:
"""Split string with CSV parser."""
parsed = csv.reader([s], dialect=dialect)
return next(parsed)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment