From 572af695323f54e49ab4b66e904abb3c5d0daac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 11 Mar 2019 00:10:48 +0100 Subject: Add sample fetch.scm. --- fetch.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 fetch.scm diff --git a/fetch.scm b/fetch.scm new file mode 100755 index 00000000..f134a850 --- /dev/null +++ b/fetch.scm @@ -0,0 +1,35 @@ +#!/usr/bin/guile -s +!# + +#| + | Example file which reads my regular calendar, filters it down to only + | the events between specific times, and prints that calendar in ICS + | format to standard output. + |# + +(add-to-load-path (dirname (current-filename))) + +(use-modules (srfi srfi-1) + (srfi srfi-26) + (srfi srfi-19) + (srfi srfi-19 util) + (vcalendar) + (vcalendar output) + (util)) + + +(begin + (define *path* "/home/hugo/.calendars/b85ba2e9-18aa-4451-91bb-b52da930e977/") + (define cal (make-vcomponent *path*))) + +(filter-children! + (lambda (comp) + (if (not (eq? 'VEVENT (type comp))) + #t + (let ((stime (date->time-utc (string->date "2019-03-12T12:00" "~Y-~m-~dT~H:~M"))) + (etime (date->time-utc (string->date "2019-03-13T11:59" "~Y-~m-~dT~H:~M")))) + (and (time<=? stime (attr comp "DTSTART")) + (time<=? (attr comp "DTSTART") etime))))) + cal) + +(serialize-vcomponent cal) -- cgit v1.2.3