Skip to content

Commit 007b3f3

Browse files
author
Thomas Irgang
authored
Merge pull request #32 from madsmtm/patch-1
Fixed parsing when multiple `rrule`s are present
2 parents 87ca2d1 + 45aa498 commit 007b3f3

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

icalevents/icalparser.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,12 @@ def parse_rrule(component, tz=UTC):
225225
:return: extracted rrule or rruleset
226226
"""
227227
if component.get('rrule'):
228-
# Parse the rrule, might return a rruleset instance, instead of rrule
229-
rule = rrulestr(component['rrule'].to_ical().decode(), dtstart=normalize(component['dtstart'].dt, tz=tz))
228+
# component['rrule'] can be both a scalar and a list
229+
rrules = component['rrule']
230+
if not isinstance(rrules, list):
231+
rrules = [rrules]
232+
# Parse the rrules, might return a rruleset instance, instead of rrule
233+
rule = rrulestr('\n'.join(x.to_ical().decode() for x in rrules), dtstart=normalize(component['dtstart'].dt, tz=tz))
230234

231235
if component.get('exdate'):
232236
# Make sure, to work with a rruleset

0 commit comments

Comments
 (0)