123456789101112131415161718192021222324252627282930 |
- # Copyright (c) 2019 Ultimaker B.V.
- # Cura is released under the terms of the LGPLv3 or higher.
- from datetime import datetime, timedelta
- from UM import i18nCatalog
- def formatTimeCompleted(seconds_remaining: int) -> str:
- completed = datetime.now() + timedelta(seconds=seconds_remaining)
- return "{hour:02d}:{minute:02d}".format(hour = completed.hour, minute = completed.minute)
- def formatDateCompleted(seconds_remaining: int) -> str:
- now = datetime.now()
- completed = now + timedelta(seconds=seconds_remaining)
- days = (completed.date() - now.date()).days
- i18n = i18nCatalog("cura")
- # If finishing date is more than 7 days out, using "Mon Dec 3 at HH:MM" format
- if days >= 7:
- return completed.strftime("%a %b ") + "{day}".format(day = completed.day)
- # If finishing date is within the next week, use "Monday at HH:MM" format
- elif days >= 2:
- return completed.strftime("%a")
- # If finishing tomorrow, use "tomorrow at HH:MM" format
- elif days >= 1:
- return i18n.i18nc("@info:status", "tomorrow")
- # If finishing today, use "today at HH:MM" format
- else:
- return i18n.i18nc("@info:status", "today")
|