19 lines
553 B
Python
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')}")
|