From ea1866cfe62b41f6e7906ebf1cb6d55db347349d Mon Sep 17 00:00:00 2001 From: Lucas Sta Maria Date: Sun, 31 Dec 2023 00:03:12 -0500 Subject: [PATCH] feat(calendars): add calendar sync script Signed-off-by: Lucas Sta Maria --- .calendars/sync | 30 ++++++++++++++++++++++++++++++ .config/ambit/config.ambit | 1 + 2 files changed, 31 insertions(+) create mode 100644 .calendars/sync 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