]> git.walde.dev - punch/commitdiff
Add initial week visualizer
authorDustin Walde <redacted>
Thu, 4 May 2023 16:42:22 +0000 (09:42 -0700)
committerDustin Walde <redacted>
Thu, 4 May 2023 16:42:22 +0000 (09:42 -0700)
src/image_generator.py
src/punch.py

index 64030423640823f23197ccfacd79acac359ad3a3..f034c024d3bba16215cce353f25d0a07f825ad3b 100644 (file)
@@ -63,6 +63,21 @@ def day(sheet: TimeSheet, date: datetime.date) -> Image.Image:
     return img
 
 
+def week(sheet: TimeSheet, start_date: datetime.date) -> Image.Image:
+    #img = Image.new('RGBA', (8+IMAGE_SIZE*7, IMAGE_SIZE+2), (0,0,0,0))
+    img = Image.new('RGBA', (IMAGE_SIZE*7, IMAGE_SIZE), (0,0,0,0))
+    tzi = datetime.datetime.now().astimezone().tzinfo
+
+    for i in range(7):
+        date = (datetime.datetime.combine(start_date, datetime.time(), tzinfo=tzi) + datetime.timedelta(days=i)).date()
+        #_day(sheet, img, date, (1+i*(IMAGE_SIZE+1), (i+1)*(IMAGE_SIZE+1)-1), (1, IMAGE_SIZE+1), TARGET_HOURS)
+        _day(sheet, img, date, (1+i*(IMAGE_SIZE), (i+1)*(IMAGE_SIZE)-1), (1, IMAGE_SIZE-1), TARGET_HOURS)
+
+    #img = img.resize((IMAGE_SIZE*28+32,IMAGE_SIZE*4+8), Image.NEAREST)
+    img = img.resize((IMAGE_SIZE*28,IMAGE_SIZE*4), Image.NEAREST)
+    return img
+
+
 def _day(sheet: TimeSheet, image: Image.Image, date: datetime.date,
          x_range: Tuple[int,int], y_range: Tuple[int,int],
          target_hours: int = 0, alpha: int = 255) -> datetime.timedelta:
index 750dff52a90f04b8a961c741af01dc826683c829..2f5174ee74887b8caec58a8ba471fdd934da819d 100644 (file)
@@ -2,7 +2,7 @@
 # ©2023 Dustin Walde
 # SPDX-License-Identifier: GPL-3.0-or-later
 
-from datetime import date, datetime, time
+from datetime import date, datetime, time, timedelta
 import sys
 from typing import List, Optional
 
@@ -113,8 +113,8 @@ def main(args):
         if len(args) > 2:
             dt = date.fromisoformat(args[2])
         else:
-            dt = date.today()
-        image = image_generator.day(sheet, dt)
+            dt = date.today() - timedelta(days=7)
+        image = image_generator.week(sheet, dt)
         image.save("test.png")
 
     elif args[1] == 'query':