From 061caad816fb7fc0ca420145ea38bb5679d0bccd Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Thu, 5 Nov 2020 18:57:00 +0100
Subject: [PATCH] Fixed #33 - GarbageScheduleTile: add remaining days counter

---
 .../tile/tiles/GarbageContainerScheduleTile.html      |  2 +-
 src/logic/tile/tiles/GarbageContainerScheduleTile.py  | 11 +++++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/logic/tile/tiles/GarbageContainerScheduleTile.html b/src/logic/tile/tiles/GarbageContainerScheduleTile.html
index 471abb3..8a8119f 100644
--- a/src/logic/tile/tiles/GarbageContainerScheduleTile.html
+++ b/src/logic/tile/tiles/GarbageContainerScheduleTile.html
@@ -29,6 +29,6 @@
 <div class="garbageContainerScheduleTile">
     <div class="content">
         <img src="../../static/images/{{ data['iconFileName'] }}" class="icon"/>
-        {{ data['nextEventDate'] }}
+        {{ data['nextEventDate'] }} - {{ data['remainingDays'] }} Tag(e)
     </div>
 </div>
diff --git a/src/logic/tile/tiles/GarbageContainerScheduleTile.py b/src/logic/tile/tiles/GarbageContainerScheduleTile.py
index b525907..02b82c1 100644
--- a/src/logic/tile/tiles/GarbageContainerScheduleTile.py
+++ b/src/logic/tile/tiles/GarbageContainerScheduleTile.py
@@ -11,7 +11,7 @@ from logic.tile.Tile import Tile
 
 
 class GarbageContainerScheduleTile(Tile):
-    DATE_FORMAT = 'dd.MM. (E)'
+    DATE_FORMAT = 'E dd.MM'
 
     ICON_BY_GARBAGE_TYPE = {
         'Papier': 'garbage_paper',
@@ -38,15 +38,22 @@ class GarbageContainerScheduleTile(Tile):
         nextEvent = self.__find_next_date(eventsForGarbageType)
 
         nextEventDate = '--.--.'
+        remainingDays = ''
         if nextEvent:
             nextEventDate = nextEvent.start
+            if isinstance(nextEventDate, datetime):
+                remainingDays = nextEventDate - datetime.now()
+            else:
+                remainingDays = nextEventDate - datetime.now().date()
+            remainingDays = remainingDays.days
             nextEventDate = format_date(nextEventDate, self.DATE_FORMAT, 'de')
 
         iconName = self.ICON_BY_GARBAGE_TYPE[self._settings['garbageType']]
 
         return {
             'nextEventDate': nextEventDate,
-            'iconFileName': f'{iconName}.png'
+            'iconFileName': f'{iconName}.png',
+            'remainingDays': remainingDays
         }
 
     def __find_next_date(self, events: List[CalendarEvent]) -> CalendarEvent or None:
-- 
GitLab