Support import of time zones (RFC 5545)

The property parameter time zone identifier (TZID) is recognized in DTSTART,
DTEND and EXDATE and the DATE-TIME value converted to a local time. The time
zone identifier is logged in the note file.

Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
This commit is contained in:
Lars Henriksen
2020-05-25 20:52:22 +02:00
committed by Lukas Fleischer
parent 32783496e6
commit d8c1c48e78
6 changed files with 112 additions and 48 deletions

View File

@@ -10,4 +10,9 @@ SUMMARY:UTC
DTSTART:20150223T110000Z
DURATION:PT1H
END:VEVENT
BEGIN:VEVENT
SUMMARY:CET
DTSTART;TZID=CET:20150223T110000
DURATION:PT1H
END:VEVENT
END:VCALENDAR

View File

@@ -1,8 +1,8 @@
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART;TZID="(UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien":19800101T000100
DURATION:P1DT9H17M0S
DTSTART:19800101T000100
DURATION;TESTPARAM="Quoted string with colon(:), semicolon(;) and comma(,)":P1DT9H17M0S
SUMMARY:Calibrator's
END:VEVENT
BEGIN:VTODO

View File

@@ -8,16 +8,20 @@ if [ "$1" = 'actual' ]; then
TZ="America/New_York" "$CALCURSE" -D "$PWD/.calcurse" \
-i "$DATA_DIR/ical-007.ical"
"$CALCURSE" -D "$PWD/.calcurse" -s02/23/2015
cat "$PWD/.calcurse/notes/"*
rm -rf .calcurse || exit 1
elif [ "$1" = 'expected' ]; then
cat <<EOD
Import process report: 0013 lines read
2 apps / 0 events / 0 todos / 0 skipped
Import process report: 0018 lines read
3 apps / 0 events / 0 todos / 0 skipped
02/23/15:
- 05:00 -> 06:00
CET
- 06:00 -> 07:00
UTC
- 11:00 -> 12:00
Local time
Import: TZID=CET
EOD
else
./run-test "$0"