diff options
| author | Anton Bobov <abobov@gmail.com> | 2021-04-27 19:33:10 +0500 |
|---|---|---|
| committer | Anton Bobov <abobov@gmail.com> | 2021-04-27 19:33:10 +0500 |
| commit | 4c64d38cdb39318dfd258bde3a24d139eb398b67 (patch) | |
| tree | f8c269c138007379ceafa7f373b8f7e7ac82096a | |
| parent | 9b340bc745a39699b0ee66c2521b81d2499407ce (diff) | |
rem2ics: fix repeating events with time
| -rwxr-xr-x | rem2ics | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -56,7 +56,7 @@ class Event: def dtend(self): e = self.event_json - if 'rep' in e and 'until' in e: + if is_multiple_days_event(e): dt = datetime.strptime(e['until'], '%Y-%m-%d') return (dt + timedelta(days=1)).strftime('%Y%m%d') elif 'eventduration' in e and 'eventstart' in e: @@ -77,13 +77,20 @@ class Event: def create_uid(event): - if 'rep' in event and 'until' in event: + if is_multiple_days_event(event): date = event['until'] else: date = event['date'] return "%s:%s:%s" % (basename(event['filename']), event['lineno'], date) +def is_multiple_days_event(event): + repeat = 'rep' in event + has_until_date = 'until' in event + has_time = 'time' in event + return repeat and has_until_date and not has_time + + def print_ics(events): print('BEGIN:VCALENDAR') print('VERSION:2.0') |
