Repeated events
This commit is contained in:
parent
799c458107
commit
875570e962
40
getInfo.py
40
getInfo.py
|
@ -108,7 +108,28 @@ def getEvents(baseDay, interval):
|
||||||
# but nobody cares
|
# but nobody cares
|
||||||
if k[0] == "BEGIN":
|
if k[0] == "BEGIN":
|
||||||
blockParsing = k[1]
|
blockParsing = k[1]
|
||||||
|
if blockParsing == "VEVENT":
|
||||||
|
event_dict = {}
|
||||||
elif k[0] == "END":
|
elif k[0] == "END":
|
||||||
|
if k[1] == "VEVENT":
|
||||||
|
# If single event push into list
|
||||||
|
if repetition['single'] == True:
|
||||||
|
events += [event_dict]
|
||||||
|
else:
|
||||||
|
event_count = 1
|
||||||
|
# Get first event inside interval
|
||||||
|
while event_dict['DATETIME'] < leftLimit:
|
||||||
|
event_dict['DATETIME'] += rd.relativedelta(days=repetition['freq']['DAILY'],weeks=repetition['freq']['WEEKLY'],months=repetition['freq']['MONTHLY'],years=repetition['freq']['YEARLY'])*repetition['interval']
|
||||||
|
event_count += 1
|
||||||
|
|
||||||
|
# Push all events inside interval
|
||||||
|
while event_dict['DATETIME'] < rightLimit and (repetition['until'] is None or repetition['until'] >= event_dict['DATETIME'].date()):
|
||||||
|
event_dict['OCCURRENCE'] = event_count
|
||||||
|
events += [event_dict.copy()]
|
||||||
|
if repetition['count'] == event_count:
|
||||||
|
break
|
||||||
|
event_count+=1
|
||||||
|
event_dict['DATETIME'] += rd.relativedelta(days=repetition['freq']['DAILY'],weeks=repetition['freq']['WEEKLY'],months=repetition['freq']['MONTHLY'],years=repetition['freq']['YEARLY'])*repetition['interval']
|
||||||
blockParsing = None
|
blockParsing = None
|
||||||
else:
|
else:
|
||||||
if blockParsing == "VEVENT":
|
if blockParsing == "VEVENT":
|
||||||
|
@ -165,25 +186,6 @@ def getEvents(baseDay, interval):
|
||||||
event_dict['CLASS'] = k[1]
|
event_dict['CLASS'] = k[1]
|
||||||
elif k[0] == 'STATUS':
|
elif k[0] == 'STATUS':
|
||||||
event_dict['STATUS'] = k[1]
|
event_dict['STATUS'] = k[1]
|
||||||
# If single event push into list
|
|
||||||
if repetition['single'] == True:
|
|
||||||
events += [event_dict]
|
|
||||||
else:
|
|
||||||
event_count = 1
|
|
||||||
# Get first event inside interval
|
|
||||||
while event_dict['DATETIME'] < leftLimit:
|
|
||||||
event_dict['DATETIME'] += rd.relativedelta(days=repetition['freq']['DAILY'],weeks=repetition['freq']['WEEKLY'],months=repetition['freq']['MONTHLY'],years=repetition['freq']['YEARLY'])*repetition['interval']
|
|
||||||
event_count += 1
|
|
||||||
|
|
||||||
# Push all events inside interval
|
|
||||||
while event_dict['DATETIME'] < rightLimit and (repetition['until'] is None or repetition['until'] >= event_dict['DATETIME'].date()):
|
|
||||||
event_dict['OCCURRENCE'] = event_count
|
|
||||||
events += [event_dict.copy()]
|
|
||||||
if repetition['count'] == event_count:
|
|
||||||
break
|
|
||||||
event_count+=1
|
|
||||||
event_dict['DATETIME'] += rd.relativedelta(days=repetition['freq']['DAILY'],weeks=repetition['freq']['WEEKLY'],months=repetition['freq']['MONTHLY'],years=repetition['freq']['YEARLY'])*repetition['interval']
|
|
||||||
|
|
||||||
|
|
||||||
# Thanks stackoverflow
|
# Thanks stackoverflow
|
||||||
# Return events sorted by date, AllDay first
|
# Return events sorted by date, AllDay first
|
||||||
|
|
Loading…
Reference in New Issue