فهرست منبع

show minutes:seconds until predicted departure time

> 2018-02-15 21:06:22
> 1:50 U6 SIEBENHIRTEN
> 9:50 U6 SIEBENHIRTEN
Fabian Peter Hammerle 7 سال پیش
والد
کامیت
1e3be0bd4a
1فایلهای تغییر یافته به همراه18 افزوده شده و 2 حذف شده
  1. 18 2
      omegalines

+ 18 - 2
omegalines

@@ -15,6 +15,22 @@ def datetime_now_local():
     return datetime.datetime.now(dateutil.tz.tzlocal())
 
 
+def format_timedelta(timedelta):
+    total_seconds = timedelta.total_seconds()
+    return '%s%d:%02d' % (
+        '-' if total_seconds < 0 else '',
+        int(abs(total_seconds) / 60),
+        abs(total_seconds) % 60,
+    )
+
+assert "0:20" == format_timedelta(datetime.timedelta(seconds=20))
+assert "1:20" == format_timedelta(datetime.timedelta(seconds=80))
+assert "2:00" == format_timedelta(datetime.timedelta(seconds=120))
+assert "-0:20" == format_timedelta(datetime.timedelta(seconds=-20))
+assert "-1:20" == format_timedelta(datetime.timedelta(seconds=-80))
+assert "-2:00" == format_timedelta(datetime.timedelta(seconds=-120))
+
+
 class Departure:
 
     def __init__(self, line, towards, predicted_time):
@@ -87,8 +103,8 @@ def run(config_path):
         if departures:
             for departure_idx, departure in enumerate(departures):
                 oledExp.setCursor(1 + departure_idx, 0)
-                oledExp.write("%03d %s %s" % (
-                    departure.predicted_timedelta.total_seconds(),
+                oledExp.write("%s %s %s" % (
+                    format_timedelta(departure.predicted_timedelta),
                     departure.line,
                     departure.towards,
                 ))