Files
MCP-CalDAV/test_rrule_fix.py

19 lines
553 B
Python

from icalendar import vRecur
def parse_rrule(rrule_str: str) -> dict:
parts = rrule_str.split(';')
rrule = {}
for part in parts:
if '=' in part:
key, value = part.split('=', 1)
# Fix: split commas into list
if ',' in value:
value = value.split(',')
rrule[key] = value
return rrule
rrule_str = "FREQ=WEEKLY;BYDAY=MO,WE"
rrule_dict = parse_rrule(rrule_str)
print(f"Parsed dict: {rrule_dict}")
print(f"vRecur result: {vRecur(rrule_dict).to_ical().decode('utf-8')}")