aboutsummaryrefslogtreecommitdiff
path: root/vcalendar/recurrence/internal.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2019-03-21 21:19:50 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2019-03-21 21:19:50 +0100
commitecb92a54a8c2dce5f60765f3dece4223b9ff856a (patch)
treef9ec6a8d2370727f87b57b5d100368c1d3f44919 /vcalendar/recurrence/internal.scm
parentAdd filter-sorted-stream. (diff)
downloadcalp-ecb92a54a8c2dce5f60765f3dece4223b9ff856a.tar.gz
calp-ecb92a54a8c2dce5f60765f3dece4223b9ff856a.tar.xz
Fixed recurrence code.
Diffstat (limited to 'vcalendar/recurrence/internal.scm')
-rw-r--r--vcalendar/recurrence/internal.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/vcalendar/recurrence/internal.scm b/vcalendar/recurrence/internal.scm
new file mode 100644
index 00000000..b62d75c2
--- /dev/null
+++ b/vcalendar/recurrence/internal.scm
@@ -0,0 +1,28 @@
+(define-module (vcalendar recurrence internal)
+ #:use-module (util)
+ #:use-module (srfi srfi-88)
+ #:export (make-recur-rule
+ weekdays intervals))
+
+;; (list
+;; (build-recur-rules "FREQ=HOURLY")
+;; (build-recur-rules "FREQ=HOURLY;COUNT=3")
+;; (build-recur-rules "FREQ=ERR;COUNT=3")
+;; (build-recur-rules "FREQ=HOURLY;COUNT=err")
+;; (build-recur-rules "FREQ=HOURLY;COUNT=-1"))
+
+;; Immutable, since I easily want to be able to generate the recurence set for
+;; the same event multiple times.
+(define-quick-record recur-rule
+ (public: freq until count interval bysecond byminute byhour
+ byday bymonthday byyearday byweekno bymonth bysetpos
+ wkst))
+
+(define (make-recur-rule interval wkst)
+ ((record-constructor <recur-rule> '(interval wkst)) interval wkst))
+
+(define weekdays
+ '(SU MO TU WE TH FR SA))
+
+(define intervals
+ '(SECONDLY MINUTELY HOURLY DAILY WEEKLY MONTHLY YEARLY))