Google Calendar to Palm Desktop conversion

(The short story is: if you want to convert Google Calendar iCal v2 files to vCal v1 files for import into your Palm Desktop, use this web application I made last night. Please leave a comment on this posting if you use it!

If you’re interested in recent changes to the application, see the dynamic changelog on Google Code.)

It’s amazing how just when you really do need to put all your time into some deadline, you find the perfect WAB, better known as Work Avoidance Behaviour.

In any case, last night I was planning to work on two proposals with rapidly approaching deadlines, instead I somehow was convinced that it should be easy to import some of those neat iCal v2 files available on the web (for example as exported from Google Calendar) into my trusty Palm Desktop 4.1, which I use on my laptop to manage my life and synchronise with my Palm Tungsten C.

It turns out that this is far more complicated than necessary. Google Calendar only outputs iCal version 2, Palm Desktop, even the latest version, only imports vCalendar version 1. There are a number of websites that state that simply renaming the .ics file to .vcs, and changing the version tag to 1.0 does the trick. WRONG. Google Calendar iCal files actually use iCal version 2.0 features, so this idiot workaround does not, well, work around.

By now it was almost time for bed, and I’d tried Sunbird (exports ical v2), Evolution (the windows version is the worst POS software I’ve ever come across) and bunches of other things. No go. Finally I stumbled on vcal.py by Mark Bucciarelli. This almost worked, except for a few bugs (empty field handling, a.o.) which I fixed, and the fact that it doesn’t handle RRULEs at all. After reading the vcal standard, I implemented a really ugly RRULE transformation that seems to do the trick, mostly.

I’ve packaged all of this ugliness in a simple CGI that you can now use to convert Google Calendar iCal version 2.0 files to vCal version 1.0 files for consumption by your Palm Desktop. Use this entirely at your own risk of course, but let me know in a comment on this post (see below) if it works, or if it doesn’t.

Click here to convert!

(if you’re interested in the patch source, go to the ical2vcal site on googlecode.)

Related posts:

  1. Copernic Desktop Search 1.6
  2. Palm News
  3. Tungsten-E approaching at high speed
  4. Popup tabs for Linux?
  5. First thoughts on the Tungsten E

231 Responses to Google Calendar to Palm Desktop conversion

  1. Joseph Chiaravalloti

    Worked first time, but only copied a single event — even though there were more in the file (every file I’ve converted comes to just under 5 kb. Some tries converted to ics and some to vcs. Don’t know why.

    Part of my prob. is unfamiliarity with GCAL and how to select events, days, months to offload. I’d like to be able to copy whole months.

  2. Hello, Charl – thanks for leaving up this converter. I’m flipping back and forth between a Palm planner and an Android phone … the latter just doesn’t work well for me. Your converter made for an easy transition back to my Palm calendar. Thanks!!
    DLT

    For others, my process was
    1) export all as ical from Google Calendar
    2) convert ical to vcs using cpbotha’s cgi script
    3) import vcs into Palm Desktop 4.1.4
    4) sync

  3. As someone who hasn’t found a good replacement for his Palm (& Palm desktop!), your utility is extremely useful. Just used it to get the FCUM home fixtures into my Z22.

  4. You are a life saver. Our institution is moving away from Oracle calendar to Google. I can sync Oracle but not Google. With your utility, my trusty old Palm Zire 71 has had its life extended.
    Thanks

    (Hope this little site stays up for a while!)

  5. This is a great tool. Is there any change that a windows version might be available rather than the web tool? I have only intermitent access to web from my location (Afghanistan).

    Thanks,
    Dwight…

    • Thank you very much for the compliment!

      If you have Python on your machine and a bit of time, you could use the Python source code directly to convert your calendar files.

      At the Python prompt in the same directory as the downloaded http://code.google.com/p/ical2vcal/source/browse/trunk/vcal.py do:

      import vcal
      inputfile = open('yourfilename')
      cal = vcal.parse(f.read())
      outputfile = open('outputfilename', 'w')
      outputfile.write(cal.as_vcal())

      This is from the top of my head. :)

  6. Thanks. Much appreciated. Worked flawlessly.

  7. Thanks much for creating & sharing the calendar conversion script. It is a big help. It did not work perfectly for my needs, but that is likely due to my source format than the converter.
    I wanted to convert my exported calendar from Kopi (a Konqueror calendar off-shoot). My file is 2,600 kb, covering multiple years.
    The web CGI interface replied with a network time-out first try, and an error from the CGI script the second: “Error parsing your upload: mktime argument out of range”. I suspect that my file was too big for the script to finish within the time limits given by the web server for a reply.
    So I downloaded the Python vcal.py as suggested on October 16, 2011 at 10:09. This worked well. However, on my system the Python commands needed to be a little different. Pretty good though, since you were going from memory.
    I did (with the multiple errors figuring it out removed):
    $ python
    Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
    [GCC 4.4.5] on linux2
    Type “help”, “copyright”, “credits” or “license” for more information.
    >>> import vcal
    >>> inputfile = open(‘yourfilename.ics’)
    >>> cal = vcal.parse(inputfile)
    >>> outputfile = open(‘myoutputfilename.vcs’,'w’)
    >>> outputfile.write(cal.as_vcal())
    >>> quit()

    This got the data able to be imported to Palm Desktop without any reported errors. Very nice.
    The result was many more events than expected. Many having a daily repetition with an end date of 12/30/2031 in Palm Desktop. These events had a repetition end date in the past in the original data, but probably in a non-standard format.
    This should be much easier to clean up to a usable state than having no data in my palm at all. Much thanks!

  8. Thank you for doing this, it worked the first time I tried it. A life saver for sure.

  9. Thank you so much for this application. In these days of a slow economy and spouses being out of work – mine being one – it is so nice to be able to save money and still remain on time for my appointments.

  10. tried this to convert Yahoo cal .ics to Palm desktop v6.2.2; with partial success… dates are ok, as is repeating– times are screwed up and titles are ALL just “Reminder”… d’oh (that will teach me to back-up before trying crap like this, i spose)

  11. Solves my problem of easily adding appointments to Palm Desktop from Thunderbird’s Lightning. Thanks for a good program.

  12. Many thanks. It worked a treat. I had exported from Palm 4.1.4 using Dimex as an Ical file. Then accidentally deleted entire calendar on Palm. Have now used your program to convert to vcs and imported it back to Palm.

  13. Thank you for this script. Worked well on python 2.6.5 in Cygwin.

  14. Super Idee. I like it!

  15. Till 4 months ago I worked with a Palm. Now id died, so I had to go to the Android-Land. Heavy! Deja-Office made it possible to save all my data to the new equipment and to work in the new World in old environments. On my desktop-computer Palm-desktop is still at work syncing. Your programm helped me in converting actual holyday-date to the android-world. Thanx.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>