]> git.walde.dev - punch/commitdiff
Show total time on tray service
authorDustin Walde <redacted>
Sat, 23 Sep 2023 03:58:05 +0000 (20:58 -0700)
committerDustin Walde <redacted>
Sat, 23 Sep 2023 03:58:05 +0000 (20:58 -0700)
src/service.py

index bce11e798beae6711c5cc629f24bce4ff6e50388..8fe704a9f28bdf806b63311fe676f2fa60b16cdc 100644 (file)
@@ -92,6 +92,7 @@ class Service:
     def _generate_todays_times(self) -> str:
         today_times = ""
         td = datetime.datetime.combine(datetime.date.today(), datetime.time(), tzinfo=datetime.datetime.now().astimezone().tzinfo)
+        total_time = datetime.timedelta(0)
         for cat, times in self.sheet.cat_entries.items():
             tt = datetime.timedelta(0)
             for entry_i in reversed(times):
@@ -108,6 +109,8 @@ class Service:
                 else:
                     tt += entry.duration() # type: ignore
 
+            total_time += tt
+
             if tt > datetime.timedelta(0):
                 seconds = tt.total_seconds()
                 minutes = floor(seconds/60)
@@ -117,7 +120,15 @@ class Service:
                 name += " " * (max(1, 20-len(name)))
                 today_times += f"{name:20}\t{hours:02}:{minutes:02}\n"
 
-        return today_times.strip()
+        seconds = total_time.total_seconds()
+        minutes = floor(seconds/60)
+        hours = floor(minutes/60)
+        minutes %= 60
+        name = "Total:"
+        name += " " * (max(1, 20-len(name)))
+        today_times += f"\n{name:20}\t\t{hours:02}:{minutes:02}"
+
+        return today_times
 
 
     def _punch_in(self, item: pystray.MenuItem):