From 602e3f0b02fba0b736e586edffe48e316d49721e Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Sun, 3 May 2020 16:08:57 +0200
Subject: [PATCH] Add docstrings

---
 aleksis/apps/chronos/model_extensions.py |  1 +
 aleksis/apps/chronos/tables.py           |  2 ++
 aleksis/apps/chronos/util/format.py      | 11 ++++++++---
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/aleksis/apps/chronos/model_extensions.py b/aleksis/apps/chronos/model_extensions.py
index 1607bd24..1a1bcd59 100644
--- a/aleksis/apps/chronos/model_extensions.py
+++ b/aleksis/apps/chronos/model_extensions.py
@@ -88,6 +88,7 @@ def lesson_periods_as_teacher(self):
 
 
 def for_timetables(cls):
+    """Return all announcements that should be shown in timetable views."""
     return cls.objects.filter(show_in_timetables=True)
 
 
diff --git a/aleksis/apps/chronos/tables.py b/aleksis/apps/chronos/tables.py
index ed224b4c..9915dd47 100644
--- a/aleksis/apps/chronos/tables.py
+++ b/aleksis/apps/chronos/tables.py
@@ -13,6 +13,7 @@ from .models import LessonPeriod
 def _css_class_from_lesson_state(
     record: Optional[LessonPeriod] = None, table: Optional[LessonsTable] = None
 ) -> str:
+    """Return CSS class depending on lesson state."""
     if record.get_substitution(record._week):
         if record.get_substitution(record._week).cancelled:
             return "success"
@@ -23,6 +24,7 @@ def _css_class_from_lesson_state(
 
 
 class LessonsTable(tables.Table):
+    """Table for daily lessons and management of substitutions."""
     class Meta:
         attrs = {"class": "highlight"}
         row_attrs = {"class": _css_class_from_lesson_state}
diff --git a/aleksis/apps/chronos/util/format.py b/aleksis/apps/chronos/util/format.py
index c85668bf..49cf4c15 100644
--- a/aleksis/apps/chronos/util/format.py
+++ b/aleksis/apps/chronos/util/format.py
@@ -1,9 +1,14 @@
+from datetime import date
+
+from aleksis.apps.chronos.models import TimePeriod
 from django.utils.formats import date_format
 
 
-def format_m2m(f, attr: str = "short_name"):
+def format_m2m(f, attr: str = "short_name") -> str:
+    """Join a attribute of all elements of a ManyToManyField."""
     return ", ".join([getattr(x, attr) for x in f.all()])
 
 
-def format_date_period(date, period):
-    return "{}, {}.".format(date_format(date), period.period)
+def format_date_period(day: date, period: TimePeriod) -> str:
+    """Format date and time period."""
+    return "{}, {}.".format(date_format(day), period.period)
-- 
GitLab