diff --git a/.calendars/sync b/.calendars/sync new file mode 100644 index 0000000..883a671 --- /dev/null +++ b/.calendars/sync @@ -0,0 +1,30 @@ +#!/usr/bin/racket + +#lang racket/base + +(require racket/match) +(require racket/port) +(require net/url) + +(define calendars + '()) + +(define (main) + (for ([calendar-info calendars]) + (match-define [cons name calendar-link] calendar-info) + (define url (string->url calendar-link)) + (define data (port->bytes (get-pure-port url))) + (define out-filename (format "~a.ics" name)) + + (when (file-exists? out-filename) + (delete-file out-filename)) + + (call-with-output-file out-filename + (lambda (out) + (parameterize ([current-output-port out]) + (write-bytes data)))) + + (void))) + +(module+ main + (main)) diff --git a/.config/ambit/config.ambit b/.config/ambit/config.ambit index 71fd841..60f83c3 100644 --- a/.config/ambit/config.ambit +++ b/.config/ambit/config.ambit @@ -77,3 +77,4 @@ ]; .zshrc; .config/kitty/kitty.conf; +.calendars/sync; \ No newline at end of file