emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] patch to make org-mac-iCal work with calendar "groups"


From: Doug Hellmann
Subject: [Orgmode] patch to make org-mac-iCal work with calendar "groups"
Date: Mon, 2 Nov 2009 09:24:30 -0500

Some calendar systems (Google, Zimbra) handle subscriptions to multiple calendars (or to an account) by grouping them under a single caldav directory in the calendar tree. org-mac-iCal assumes there is only one ics file created per caldav directory, so while it *creates* all of the needed merged ics files, it only copies one of them to ~/ Library/Calendar before importing the contents into the diary.

The patch below fixes the problem.

Doug


--------------------

diff --git a/contrib/lisp/org-mac-iCal.el b/contrib/lisp/org-mac-iCal.el
index 015eab4..0d0b4f8 100644
--- a/contrib/lisp/org-mac-iCal.el
+++ b/contrib/lisp/org-mac-iCal.el
@@ -96,17 +96,20 @@ the the Emacs diary"
                                      (omi-checked x))
                                    all-calendars)))

- ;; for each caledar, concatenate individual events into a single ics file + ;; for each calendar, concatenate individual events into a single ics file
   (with-temp-buffer
     (shell-command "sw_vers" " *temp*")
     (when (re-search-backward "10.5" nil t)
       (omi-concat-leopard-ics all-calendars)))

-  ;; move any caldav ics files to the same place as local ics files
+  ;; move all caldav ics files to the same place as local ics files
   (mapc
    (lambda (x)
-     (when (directory-files x 1 ".*ics$")
- (rename-file (car (directory-files x 1 ".*ics$")) (concat "~/ Library/Cal
+     (mapc
+      (lambda (y)
+        (rename-file (concat x "/" y);
+                     (concat "~/Library/Calendars/" y)))
+      (directory-files x nil ".*ics$")))
    caldav-folders)

   ;; check calendar has contents and import




reply via email to

[Prev in Thread] Current Thread [Next in Thread]