Better pass-midnight management

This commit is contained in:
2024-01-27 11:43:01 +01:00
parent 1192e89a01
commit 8619553a30
6 changed files with 37 additions and 38 deletions

View File

@ -347,19 +347,14 @@ class StopTime(models.Model):
related_name="stop_times",
)
arrival_time = models.TimeField(
arrival_time = models.DurationField(
verbose_name=_("Arrival time"),
)
departure_time = models.TimeField(
departure_time = models.DurationField(
verbose_name=_("Departure time"),
)
arrival_next_day = models.BooleanField(
verbose_name=_("Arrival next day"),
default=False,
)
stop = models.ForeignKey(
to="Stop",
on_delete=models.CASCADE,
@ -397,6 +392,20 @@ class StopTime(models.Model):
null=True,
)
@property
def pretty_arrival_time(self):
seconds = self.arrival_time.total_seconds()
hours = int(seconds // 3600) % 24
minutes = int((seconds % 3600) // 60)
return f"{hours:02}:{minutes:02}"
@property
def pretty_departure_time(self):
seconds = self.departure_time.total_seconds()
hours = int(seconds // 3600) % 24
minutes = int((seconds % 3600) // 60)
return f"{hours:02}:{minutes:02}"
def __str__(self):
return f"{self.trip.route.long_name} - {self.trip_id} - {self.stop.name}"