From 23d813560e2778d774523ecafafbf32beadee421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20H=C3=A4ttasch?= <benjamin.haettasch@fachschaft.informatik.tu-darmstadt.de> Date: Sat, 16 Jan 2021 20:18:21 +0100 Subject: [PATCH] AKModel: Improve AK Slot time helper methods Use more pythonic way to calculate times and construct strings --- AKModel/models.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/AKModel/models.py b/AKModel/models.py index a6254aaa..6163677c 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -341,9 +341,8 @@ class AKSlot(models.Model): """ Display duration of slot in format hours:minutes, e.g. 1.5 -> "1:30" """ - hours = int(self.duration) - minutes = (self.duration * 60) % 60 - return '%d:%02d' % (hours, minutes) + hours, minutes = divmod(self.duration * 60, 60) + return f"{hours}:{minutes:2.0f}" @property def start_simplified(self): @@ -361,13 +360,11 @@ class AKSlot(models.Model): """ if self.start is None: return _("Not scheduled yet") - result = self.start.astimezone(self.event.timezone).strftime('%a %H:%M') - result += ' - ' - if self.start.astimezone(self.event.timezone).day == self.end.astimezone(self.event.timezone).day: - result += self.end.astimezone(self.event.timezone).strftime('%H:%M') - else: - result += self.end.astimezone(self.event.timezone).strftime('%a %H:%M') - return result + + start = self.start.astimezone(self.event.timezone) + end = self.end.astimezone(self.event.timezone) + + return f"{start.strftime('%a %H:%M')} - {end.strftime('%H:%M') if start.day == end.day else end.strftime('%a %H:%M')}" @property def end(self): -- GitLab