diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-23 03:23:44 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-23 03:48:22 +0200 |
commit | 1976980d4a272fb7fc3694c734bfc6825edfc721 (patch) | |
tree | 8460db1176c64895e9968447588953fac85fe7d6 /module/vcomponent/recurrence | |
parent | Remove all inline use-modules. (diff) | |
download | calp-1976980d4a272fb7fc3694c734bfc6825edfc721.tar.gz calp-1976980d4a272fb7fc3694c734bfc6825edfc721.tar.xz |
Centralize (almost) all exports to :export in define-module.
Diffstat (limited to '')
-rw-r--r-- | module/vcomponent/recurrence.scm | 2 | ||||
-rw-r--r-- | module/vcomponent/recurrence/display/en.scm | 5 | ||||
-rw-r--r-- | module/vcomponent/recurrence/display/sv.scm | 5 | ||||
-rw-r--r-- | module/vcomponent/recurrence/generate.scm | 13 | ||||
-rw-r--r-- | module/vcomponent/recurrence/internal.scm | 52 | ||||
-rw-r--r-- | module/vcomponent/recurrence/parse.scm | 9 |
6 files changed, 47 insertions, 39 deletions
diff --git a/module/vcomponent/recurrence.scm b/module/vcomponent/recurrence.scm index 12f901d2..29cbbc64 100644 --- a/module/vcomponent/recurrence.scm +++ b/module/vcomponent/recurrence.scm @@ -4,4 +4,4 @@ #:use-module (vcomponent recurrence internal) #:re-export (generate-recurrence-set parse-recurrence-rule - repeating? format-recur-rule make-recur-rule)) + repeating? make-recur-rule)) diff --git a/module/vcomponent/recurrence/display/en.scm b/module/vcomponent/recurrence/display/en.scm index 68d435af..c711a75c 100644 --- a/module/vcomponent/recurrence/display/en.scm +++ b/module/vcomponent/recurrence/display/en.scm @@ -6,7 +6,8 @@ :use-module (vcomponent recurrence display common) :use-module ((datetime) :select (time time->string datetime->string - week-day-name))) + week-day-name)) + :export (format-recurrence-rule)) @@ -41,7 +42,7 @@ (map number->string-ordinal lst)))) -(define-public (format-recurrence-rule rrule) +(define (format-recurrence-rule rrule) (string-trim (string-flatten (list diff --git a/module/vcomponent/recurrence/display/sv.scm b/module/vcomponent/recurrence/display/sv.scm index 35b3569b..2bd70657 100644 --- a/module/vcomponent/recurrence/display/sv.scm +++ b/module/vcomponent/recurrence/display/sv.scm @@ -13,7 +13,8 @@ :use-module (vcomponent recurrence display common) :use-module ((datetime) :select (time time->string datetime->string - week-day-name))) + week-day-name)) + :export (format-recurrence-rule)) ;; TODO this currently only groups on offsets, but not on days. ;; So 1MO, 1TU becomes "första måndagen och tisdagen", which is good @@ -49,7 +50,7 @@ (map number->string-ordinal lst) final-delim))) -(define-public (format-recurrence-rule rrule) +(define (format-recurrence-rule rrule) (string-trim (string-flatten (list diff --git a/module/vcomponent/recurrence/generate.scm b/module/vcomponent/recurrence/generate.scm index 83ef4274..07305647 100644 --- a/module/vcomponent/recurrence/generate.scm +++ b/module/vcomponent/recurrence/generate.scm @@ -10,15 +10,16 @@ :use-module (vcomponent recurrence parse) :use-module (datetime) - :use-module (ice-9 curried-definitions) ) - + :use-module (ice-9 curried-definitions) + :export (rrule-instances + final-event-occurence + generate-recurrence-set)) - ;; Returns #t if any of the predicates return true when applied to object. (define (any-predicate object predicates) ((@ (srfi srfi-1) any) @@ -354,10 +355,8 @@ (stream-remove (lambda (dt) (member dt exdates)) items) items)))) -(export rrule-instances) - -(define-public (final-event-occurence event) +(define (final-event-occurence event) (define rrule (prop event 'RRULE)) (if (or (count rrule) (until rrule)) @@ -390,7 +389,7 @@ ;; <vevent> -> (stream <vevent>) ;; TODO memoize this? -(define-public (generate-recurrence-set base-event) +(define (generate-recurrence-set base-event) (define duration (event-duration base-event)) diff --git a/module/vcomponent/recurrence/internal.scm b/module/vcomponent/recurrence/internal.scm index 2e04dd64..9cb6b115 100644 --- a/module/vcomponent/recurrence/internal.scm +++ b/module/vcomponent/recurrence/internal.scm @@ -1,6 +1,4 @@ (define-module (vcomponent recurrence internal) - #:export (repeating? format-recur-rule make-recur-rule) - #:use-module (srfi srfi-1) #:use-module (srfi srfi-71) #:use-module (srfi srfi-88) ; better keywords @@ -11,7 +9,27 @@ #:use-module (ice-9 format) #:use-module (hnh util) #:use-module (datetime) - ) + + :replace (count) + :export (repeating? + + make-recur-rule + freq until interval bysecond byminute byhour + byday bymonthday byyearday byweekno bymonth bysetpos + wkst + + recur-rule->rrule-string + recur-rule->rrule-sxml + + weekdays + intervals + )) + +(define weekdays + (weekday-list sun)) + +(define intervals + '(SECONDLY MINUTELY HOURLY DAILY WEEKLY MONTHLY YEARLY)) ;; EXDATE is also a property linked to recurense rules @@ -47,19 +65,16 @@ (wkst wkst) ; weekday ) -(export freq until interval bysecond byminute byhour - byday bymonthday byyearday byweekno bymonth bysetpos - wkst) -(export! count) + ;; Interval and wkst have default values, since those are assumed ;; anyways, and having them set frees us from having to check them at ;; the use site. -(define*-public (make-recur-rule - key: - freq until count (interval 1) bysecond byminute byhour - byday bymonthday byyearday byweekno bymonth bysetpos - (wkst monday)) +(define* (make-recur-rule + key: + freq until count (interval 1) bysecond byminute byhour + byday bymonthday byyearday byweekno bymonth bysetpos + (wkst monday)) ;; TODO possibly validate fields here ;; to prevent creation of invalid rules. ;; This was made apparent when wkst was (incorrectly) set to MO, @@ -117,7 +132,7 @@ #f (proc field (get field)))) (record-type-fields <recur-rule>))) -(define-public (recur-rule->rrule-string rrule) +(define (recur-rule->rrule-string rrule) (string-join (map-fields (lambda (field value) @@ -127,7 +142,7 @@ rrule) ";")) -(define-public (recur-rule->rrule-sxml rrule) +(define (recur-rule->rrule-sxml rrule) (map-fields (lambda (field value) (cond [(string-ci=? "UNTIL" (symbol->string field)) @@ -152,12 +167,3 @@ `(,(downcase-symbol field) ,(field->string field value))])) rrule)) - - - - -(define-public weekdays - (weekday-list sun)) - -(define-public intervals - '(SECONDLY MINUTELY HOURLY DAILY WEEKLY MONTHLY YEARLY)) diff --git a/module/vcomponent/recurrence/parse.scm b/module/vcomponent/recurrence/parse.scm index a64cf4a7..91209dc7 100644 --- a/module/vcomponent/recurrence/parse.scm +++ b/module/vcomponent/recurrence/parse.scm @@ -1,8 +1,6 @@ (define-module (vcomponent recurrence parse) #:duplicates (last) ; Replace @var{count} - #:export (parse-recurrence-rule) - #:use-module (srfi srfi-1) #:use-module (srfi srfi-71) #:use-module (datetime) @@ -10,11 +8,14 @@ #:use-module (vcomponent recurrence internal) #:use-module (hnh util) #:use-module (hnh util exceptions) - #:use-module (ice-9 match)) + #:use-module (ice-9 match) + + #:export (rfc->datetime-weekday + parse-recurrence-rule)) ;; transform into weekday objects from -(define-public (rfc->datetime-weekday symbol) +(define (rfc->datetime-weekday symbol) (case symbol [(SU) sun] [(MO) mon] |