diff --git a/vobject/icalendar.py b/vobject/icalendar.py index 6ce5502..a82eac0 100644 --- a/vobject/icalendar.py +++ b/vobject/icalendar.py @@ -899,13 +899,19 @@ def transformFromNative(obj): obj.value_param = "DATE" obj.value = ",".join([dateToString(val) for val in obj.value]) return obj - # Fixme: handle PERIOD case else: if obj.isNative: obj.isNative = False transformed = [] tzid = None for val in obj.value: + if obj.value_param == "PERIOD": + if type(val[0]) is datetime.datetime and type(val[1]) is datetime.timedelta: + transformed.append(periodToString(val)) + continue + if type(val[0]) is datetime.datetime and type(val[1]) is datetime.datetime: + transformed.append(dateTimeToString(val[0]) + '/' + dateTimeToString(val[1])) + continue if tzid is None and type(val) is datetime.datetime: tzid = TimezoneComponent.registerTzinfo(val.tzinfo) if tzid is not None: