Better calendar size calculations
This commit is contained in:
38
building.py
38
building.py
@@ -125,8 +125,9 @@ def draw_image():
|
|||||||
return startDate
|
return startDate
|
||||||
|
|
||||||
itemStart = 70
|
itemStart = 70
|
||||||
try:
|
|
||||||
for key, group in groupby(events, get_start_date):
|
for key, group in groupby(events, get_start_date):
|
||||||
|
dayStart = itemStart
|
||||||
|
# Calculate
|
||||||
if key == datetime.today().date():
|
if key == datetime.today().date():
|
||||||
dateStr = "Today"
|
dateStr = "Today"
|
||||||
elif key == (datetime.today() + timedelta(days=1)).date():
|
elif key == (datetime.today() + timedelta(days=1)).date():
|
||||||
@@ -134,24 +135,35 @@ def draw_image():
|
|||||||
else:
|
else:
|
||||||
dateStr = key.strftime("%d %b")
|
dateStr = key.strftime("%d %b")
|
||||||
|
|
||||||
draw.text((215, itemStart), dateStr, black, fontLargeBold)
|
|
||||||
w, h = getsize(fontLarge, "Today")
|
w, h = getsize(fontLarge, "Today")
|
||||||
itemStart += h + (ep)
|
dayStart += h + (ep)
|
||||||
|
|
||||||
for thing in list(group):
|
dayTasks = list(group)
|
||||||
|
|
||||||
|
for thing in dayTasks:
|
||||||
reflowedItem = reflow_quote(thing["summary"], 170, fontSmall)
|
reflowedItem = reflow_quote(thing["summary"], 170, fontSmall)
|
||||||
w, h = getsize(fontLarge, "Today")
|
w, h = getsize(fontLarge, "Today")
|
||||||
h *= reflowedItem.count("\n") + 1
|
h *= reflowedItem.count("\n") + 1
|
||||||
# print(f'After {reflowedItem}, {itemStart + h}')
|
dayStart += h + (ep)
|
||||||
if itemStart + h > 270:
|
|
||||||
raise Space
|
|
||||||
draw.text((230, itemStart), reflowedItem, black, fontSmall)
|
|
||||||
itemStart += h + (ep)
|
|
||||||
|
|
||||||
if itemStart > 250:
|
dayStart + ep
|
||||||
raise Space
|
|
||||||
except Space:
|
if dayStart > 280:
|
||||||
pass
|
print()
|
||||||
|
break
|
||||||
|
|
||||||
|
# Commit if possible
|
||||||
|
draw.text((215, itemStart), dateStr, black, fontLargeBold)
|
||||||
|
w, h = getsize(fontLargeBold, dateStr)
|
||||||
|
itemStart += h + ep
|
||||||
|
for thing in dayTasks:
|
||||||
|
reflowedItem = reflow_quote(thing["summary"], 170, fontSmall)
|
||||||
|
w, h = getsize(fontSmall, thing["summary"])
|
||||||
|
h *= reflowedItem.count("\n") + 1
|
||||||
|
draw.text((230, itemStart), reflowedItem, black, fontSmall)
|
||||||
|
itemStart += h + ep
|
||||||
|
|
||||||
|
itemStart += ep
|
||||||
|
|
||||||
return image
|
return image
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user