From 9c908b0c745f56b887f40ff4a37f07185561b95f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 4 Nov 2019 16:51:30 +0100 Subject: Remove (vcomponent timezone). --- module/vcomponent.scm | 1 - module/vcomponent/recurrence/generate.scm | 1 - module/vcomponent/timezone.scm | 96 ------------------------------- 3 files changed, 98 deletions(-) delete mode 100644 module/vcomponent/timezone.scm (limited to 'module') diff --git a/module/vcomponent.scm b/module/vcomponent.scm index 18a96e7a..1bffe847 100644 --- a/module/vcomponent.scm +++ b/module/vcomponent.scm @@ -1,7 +1,6 @@ (define-module (vcomponent) #:use-module (vcomponent datetime) #:use-module (vcomponent recurrence) - #:use-module (vcomponent timezone) #:use-module (vcomponent base) #:use-module (vcomponent parse) #:use-module (srfi srfi-1) diff --git a/module/vcomponent/recurrence/generate.scm b/module/vcomponent/recurrence/generate.scm index ea17b0e0..50ce83e5 100644 --- a/module/vcomponent/recurrence/generate.scm +++ b/module/vcomponent/recurrence/generate.scm @@ -8,7 +8,6 @@ #:use-module (util) #:use-module (vcomponent base) - #:use-module (vcomponent timezone) #:use-module (vcomponent recurrence internal) #:use-module (vcomponent recurrence parse) diff --git a/module/vcomponent/timezone.scm b/module/vcomponent/timezone.scm deleted file mode 100644 index ed3bef6b..00000000 --- a/module/vcomponent/timezone.scm +++ /dev/null @@ -1,96 +0,0 @@ -(define-module (vcomponent timezone) - :use-module (vcomponent base) - :use-module ((srfi srfi-1) :select (find)) - :use-module (srfi srfi-19) - :use-module (srfi srfi-19 util) - :use-module (srfi srfi-41) - :use-module (srfi srfi-41 util) - :use-module (util) - :use-module ((vcomponent recurrence generate) :select (generate-recurrence-set)) - :use-module ((vcomponent datetime) :select (ev-time :: "#" -;; TZID: Europe/Stockholm -;; X-LIC-LOCATION: Europe/Stockholm -;; : :: "#" -;; : RRULE: FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU -;; : DTSTART: 19700329T020000 -;; : TZNAME: CEST -;; : TZOFFSETTO: +0200 -;; : TZOFFSETFROM: +0100 -;; : :: "#" -;; : RRULE: FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU -;; : DTSTART: 19701025T030000 -;; : TZNAME: CET -;; : TZOFFSETTO: +0100 -;; : TZOFFSETFROM: +0200 -;; @end example - -;; Given a tz stream of length 2, extrapolates when the next timezone -;; change aught to be. -;; Currently it does so by taking the first time zone, and adding one -;; year. This kind of works. -;; Previously it took the difference between element 2 and 1, and added -;; that to the start of the secound time zone. This was even more wrong. -;; TODO? set remaining properties, and type of the newly created component. -(define (extrapolate-tz-stream strm) - (let ((nevent (copy-vcomponent (stream-car strm)))) - (set! (attr nevent 'DTSTART) - (date->time-utc - (set (date-year - (time-utc->date (attr nevent 'DTSTART))) - = (+ 1)))) - (stream-append strm (stream nevent)))) - -;; The RFC requires that at least one DAYLIGHT or STANDARD component is present. -;; Any number of both can be present. This should handle all these cases well, -;; as long as noone has multiple overlapping timezones, which depend on some -;; further condition. That feels like something that should be impossible, but -;; this is (human) time we are talking about. -(define-public (make-tz-set tz) - (let ((strm (interleave-streams - ev-timelist str))) - ((primitive-eval (symbol ±)) - (+ (* 60 (string->number (string m1 m0))) - (* 60 60 (string->number (string h1 h0))))))) - -;; Finds the VTIMEZONE with id @var{tzid} in calendar. -;; Crashes on error. -(define (find-tz cal tzid) - (let ((ret (find (lambda (tz) (string=? tzid (attr tz 'TZID))) - (filter (lambda (o) (eq? 'VTIMEZONE (type o))) - (children cal))))) - ret)) - -;; Takes a VEVENT. -;; Assumes that DTSTART has a TZID property, and that that TZID is available as -;; a direct child of the parent of @var{ev}. -(define-public (get-tz-offset ev) - (let ((ret (stream-find - (lambda (z) - (let* (((start end) (map (extract 'DTSTART) z))) - (and (time<=? start (attr ev 'DTSTART)) - (time