emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Emacs-orgmode] Emacs-Calendar export to iCal/vcal


From: Piotr Zielinski
Subject: Re: [Emacs-orgmode] Emacs-Calendar export to iCal/vcal
Date: Wed, 23 Aug 2006 22:53:12 +0100

Hi Phil,

Not directly relevant, but here's what I use to synchronize the
calendar information in the other direction: from iCalendar calendars
to emacs org-mode.  The whole setup is rather hacky and complicated (I
didn't really have time to make it more presentable) but it might be
still useful to some.

I have all my org-files in ~/myfiles/org/.  File calendars.txt,
contains URLs of remote calendars I'd like to include in my
org-agenda.  The first word in each line is the name of the local file
to which the remote calendar will periodically be downloaded:

---------- calendars.txt STARTS ----------
camtalks http://talks.cam.ac.uk/show/ics/5245
msresearchtalks http://www.srcf.ucam.org/users/pz215/msr.ics
---------- calendars.txt ENDS ----------

Once a day I execute the following script (from cron):

---------- update-calendars STARTS ----------
#!/bin/bash

orgdir=~/myfiles/org
diary=$orgdir/calendars.diary
emacs=$orgdir/local-calendars.el

$diary
echo "(setq local-calendars '(" > $emacs

cat $orgdir/calendars.txt | \
{
   while read name url ; do
        wget -N -O $orgdir/$name.ics $url
        echo "#include \"$orgdir/$name.diary\"" >> $diary
        echo "\"$name\" " >> $emacs
   done
}

echo "))" >> $emacs
---------- update-calendars ENDS ----------

It downloads all the remote calendars described in "calendars.txt" and
creates two new files.  First, "calendars.diary", which is an emacs
diary meta-file that just includes the proper calendar files.

---------- calendars.diary STARTS ----------
#include "/home/pz215/myfiles/org/camtalks.diary"
#include "/home/pz215/myfiles/org/msresearchtalks.diary"
---------- calendars.diary ENDS ----------

The second file created by "update-calendars" is "local-calendars.el",
an elisp file that contains a list of calendars:

---------- local-calendars.el STARTS ----------
(setq local-calendars '(
"camtalks"
"msresearchtalks"
))
---------- local-calendars.el ENDS ----------

What remains is to convert the downloaded icalendar files into the
diary files included by "calendars.diary".  To this end, I have the
following lines in my ".emacs":

---------- .emacs SNIPPET STARTS ----------
(require 'calendar)
(european-calendar)
(load "~/myfiles/org/local-calendars.el")
(dolist (name local-calendars)
 (let ((ical (concat "/home/pz215/myfiles/org/" name ".ics"))
        (diary (concat "/home/pz215/myfiles/org/" name ".diary")))
   (when (file-newer-than-file-p ical diary)
     (with-current-buffer (find-file-noselect diary)
        (kill-region (point-min) (point-max))
        (icalendar-import-file ical diary)))))
---------- .emacs SNIPPET ENDS ----------

That's it.  If you want emacs to notify you about your appointments,
take a look at the function "appt-activate" in the appt library.  If
you use a desktop environment that uses the standard notification
deamon (e.g., GNOME), you can set up the appt library to use it.  Take
a look at the "send-notify" command from the "libnotify-bin" package
(Debian/Ubuntu).

Thanks,
Piotr


On 23/08/06, Carsten Dominik <address@hidden> wrote:

Hi Phillip,

have you read this?

http://staff.science.uva.nl/~dominik/Tools/org/org.html#iCalendar-export

If yes, can you be more specific about what you are missing?

- Carsten

On Aug 23, 2006, at 22:46, Philipp Raschdorff wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> I'm using emacs +org-mode mainly for organizing todos and for
> brainstorming in project planing and organizing tasks etc. So it's
> mainly a (very powerfull) outliner.
>
> I playes arround with the DUE & DEADLINE features and realized that
> there is one thing missing for me:
>
> synchronizing emacs-todos / appointments to iCal (Mac OS X 10.4)
>
> To make it easier: I really would like to have it one way: Adding data
> from emacs to an iCal-file.
>
> I'm using my mobile phone to synchronize with my calendar (iCal) and
> it would be nice to have EMacs copying data to iCal and then have this
> data on my mobile phone after the next sync.
>
> What do you think? Are you using the emacs-calendar-functions and how
> to you synchronize to other applications?
>
> Any suggestions would be great.
>
> Best regards from Berlin / Germany
>
> Phil
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.3 (Darwin)
>
> iD8DBQFE7L7HmbjPeL8dZWgRAt29AJ9JyQJK5Ps3UJyAuFDGGhlZq+WdQgCeIMvj
> Sl/n5RM1yFFlpSX8umWWH8A=
> =+rV9
> -----END PGP SIGNATURE-----
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
>

--
Carsten Dominik
Sterrenkundig Instituut "Anton Pannekoek"
Universiteit van Amsterdam
Kruislaan 403
NL-1098SJ Amsterdam
phone: +31 20 525 7477



_______________________________________________
Emacs-orgmode mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode



--
Piotr Zielinski, Research Associate
Cavendish Laboratory, University of Cambridge, UK
http://www.cl.cam.ac.uk/~pz215/




reply via email to

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