From c7e0d962f0db1aeda96995d52c5c83546345fa05 Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Mon, 22 Jun 2020 10:03:37 -0400 Subject: fix(org-gcal): Don't render LOCATION if there isn't one previously it'd just render: :LOCATION: key not found: location Change-Id: I6454c1ef8c6c1096773978add1243097116d1e68 Reviewed-on: https://cl.tvl.fyi/c/depot/+/558 Reviewed-by: glittershark --- users/glittershark/emacs.d/org-gcal.el | 48 ++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/users/glittershark/emacs.d/org-gcal.el b/users/glittershark/emacs.d/org-gcal.el index d31e705269..183dfbd5a7 100644 --- a/users/glittershark/emacs.d/org-gcal.el +++ b/users/glittershark/emacs.d/org-gcal.el @@ -68,32 +68,40 @@ (defun event->org-headline (event level) (cl-flet ((make-time - (key) - (when-let ((raw-time (->> event (alist-get key) (alist-get 'dateTime)))) - (format-time-string - (org-time-stamp-format t) - (parse-iso8601-time-string raw-time))))) - (if-let ((start-time (make-time 'start)) - (end-time (make-time 'end))) - (s-format - "${headline} [[${htmlLink}][${summary}]] :event: + (key) + (when-let ((raw-time (->> event (alist-get key) (alist-get 'dateTime)))) + (format-time-string + (org-time-stamp-format t) + (parse-iso8601-time-string raw-time))))) + (if-let ((start-time (make-time 'start)) + (end-time (make-time 'end))) + (s-format + "${headline} [[${htmlLink}][${summary}]] :event: ${startTime}--${endTime} :PROPERTIES: -:LOCATION: ${location} +${location-prop} :EVENT: ${htmlLink} :END: ${description}" - (function - (lambda (k m) - (or (alist-get (intern k) m) - (format "key not found: %s" k)))) - (append - event - `((headline . ,(make-string level ?*)) - (startTime . ,start-time) - (endTime . ,end-time)))) - ""))) + (function + (lambda (k m) + (or (alist-get (intern k) m) + (format "key not found: %s" k)))) + (append + event + `((headline . ,(make-string level ?*)) + (startTime . ,start-time) + (endTime . ,end-time) + (location-prop + . ,(if-let ((location (alist-get 'location event))) + (s-lex-format ":LOCATION: ${location}") + ""))))) + ""))) + +(comment + (alist-get 'foo nil) + ) (defun write-events (events) (with-current-buffer (find-file-noselect events-file) -- cgit 1.4.1