aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/recurrence
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-06-23 03:23:44 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-06-23 03:48:22 +0200
commit1976980d4a272fb7fc3694c734bfc6825edfc721 (patch)
tree8460db1176c64895e9968447588953fac85fe7d6 /module/vcomponent/recurrence
parentRemove all inline use-modules. (diff)
downloadcalp-1976980d4a272fb7fc3694c734bfc6825edfc721.tar.gz
calp-1976980d4a272fb7fc3694c734bfc6825edfc721.tar.xz
Centralize (almost) all exports to :export in define-module.
Diffstat (limited to 'module/vcomponent/recurrence')
-rw-r--r--module/vcomponent/recurrence/display/en.scm5
-rw-r--r--module/vcomponent/recurrence/display/sv.scm5
-rw-r--r--module/vcomponent/recurrence/generate.scm13
-rw-r--r--module/vcomponent/recurrence/internal.scm52
-rw-r--r--module/vcomponent/recurrence/parse.scm9
5 files changed, 46 insertions, 38 deletions
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]