Add support for future events (days until)

This commit is contained in:
Klaus-Uwe Mitterer 2017-06-12 15:09:58 +02:00
parent d2680cdcae
commit f0a3dc7cd7

View file

@ -10,12 +10,12 @@ def genday(dt):
UID:%s@kumig.it
DTSTAMP:%s
DTSTART;VALUE=DATE:%s
SUMMARY:%s days since %s
SUMMARY:%s days %s %s
END:VEVENT
''' % (ds, now, then, di, ds)
''' % (ds, now, then, di, ds, ds)
def gencal(dt, offset = None, string = None, futuredays = 14):
offset = offset or (datetime.date.today() - dt).days
def gencal(dt, string = None, futuredays = 14):
offset = (datetime.date.today() - dt).days
rv = '''BEGIN:VCALENDAR
VERSION:2.0
@ -23,18 +23,17 @@ PRODID:-//Klaus-Uwe Mitterer//DaysSince//EN
METHOD:PUBLISH
'''
for day in range(offset + futuredays):
rv += genday(dt + datetime.timedelta(days = day)) % ("%i%i%i%i" % (dt.year, dt.month, dt.day, day), day, "%i/%i/%i" % (dt.year, dt.month, dt.day))
if offset < 0:
for day in range(offset * -1 + futuredays):
rv += genday(dt - datetime.timedelta(days = day)) % ("%s%i" % (dt.strftime("%Y%m%d"), day), day, "until", dt.strftime("%Y/%m/%d"))
else:
for day in range(offset + futuredays):
rv += genday(dt + datetime.timedelta(days = day)) % ("%s%i" % (dt.strftime("%Y%m%d"), day), day, "since", dt.strftime("%Y/%m/%d"))
rv += "END:VCALENDAR"
return rv
def cal(dt, string = None):
offset = (datetime.date.today() - dt).days
if offset < 0:
return ""
else:
return iter([gencal(dt, string).replace("\n", "\r\n").encode()])
return iter([gencal(dt, string).replace("\n", "\r\n").encode()])