Google Calendar, Python and poor old Windows Mobile

October 22nd 2010

Tags: python, mobile

In this age of mobile wonder and freedom, you ask: "Why the hell would you stick with your Windows Mobile 6 phone?" If this were a face to face conversation, the ensuing rant on my part would leave you delirious and me out of breath, so I'll save that for another day. Today I have a problem...

How to get multiple Google calendars on my Windows Mobile?

While Google decided to implement the ActiveSync protocol, they have left off a few features. Specifically when it comes to calendars. While using some of the built in features like categories would have made sense, calendars other then your main one simply do not show up on your Windows Mobile phone.

"Just post everything to your main calendar" you say? I don't know about you, but I don't want all my coworkers to see everything I have planned for the weekend.

Enter Python

Google has provided many useful interfaces for interacting with the data in Google accounts. Going as far as to provide an excellent Python library for dealing with the APIs.

To install:

  1. Download the latest copy of the lib (v2.0.12 at the time of writing):

    curl -O "http://gdata-python-client.googlecode.com/files/gdata-2.0.12.tar.gz"
    
  2. Install:

    python setup.py install
    
  3. Enjoy!

I hacked up a simple script (librally using the examples from the Python library page) to keep my main calendar up to date with my work calendar:

This is excruciatingly simple, can be improved, but it works. Basically it copies recent events to my main calendar and tags the titles of the events with [Work]. When the process starts all over again, it removes the existing [Work] entries and creates new ones.

Entered it into my crontab to run every once and awhile and finally I have all my calendars on my crusty old Windows Mobile phone.

By Colin Kennedy