Add debugging output to figure out why the times are wrong
All checks were successful
docker-image / docker (push) Successful in 10m0s

This commit is contained in:
Stefan Bethke 2025-06-13 18:45:40 +02:00
commit 2e4e0d072d

View file

@ -6,6 +6,7 @@ from time import sleep
from buba.bubacmd import BubaCmd
LOG = logging.getLogger(__name__)
WEEKDAYS_DE = [
"Mo",
@ -40,6 +41,19 @@ class BubaAnimation:
it = iter(it)
return iter(lambda: tuple(islice(it, size)), ())
@staticmethod
def humanize_delta(dt, now_delta, day_delta):
if now_delta < timedelta(seconds=60):
return "jetzt"
if now_delta < timedelta(minutes=90):
return f"{int(now_delta.seconds / 60)}m"
if day_delta < timedelta(hours=24):
return f"{int((now_delta.seconds + 3599) / 3600)}h"
if day_delta < timedelta(days=7):
# return dt.strftime("%a") # weekday
return WEEKDAYS_DE[dt.weekday()]
return dt.strftime("%d.%m.")
@staticmethod
def countdown(dt: datetime):
"""
@ -51,16 +65,9 @@ class BubaAnimation:
from_day_start = now.replace(hour=4, minute=0, second=0, microsecond=0)
now_delta = dt - now
day_delta = dt - from_day_start
if now_delta < timedelta(seconds=60):
return "jetzt"
if now_delta < timedelta(minutes=30):
return f"{int(now_delta.seconds / 60)}m"
if day_delta < timedelta(hours=24):
return f"{int((now_delta.seconds + 3599) / 3600)}h"
if day_delta < timedelta(days=7):
# return dt.strftime("%a") # weekday
return WEEKDAYS_DE[dt.weekday()]
return dt.strftime("%d.%m.")
h = BubaAnimation.humanize_delta(dt, now_delta, day_delta)
LOG.info(f"countdown({dt}) {now_delta} {day_delta} {h}")
return h
@staticmethod
def ellipsis(text, max=28):