Category Archives: Python

Round-tripping RDF/iCal

Note: This post originated outside of the weblog, but I figured it really belongs here, and it makes it easier to find.

The goal of this action is to automate verification tests for the RDFIG Calendar Task force, located in http://www.w3.org/2002/12/cal/test/ — both ways, from and to RDF, to and from iCal.

Running cwm

cwm requires a somewhat late version of Python, and installing RPMs for RH9 doesn’t work on RH7.1, so Python 2.2.3 was rebuilt from source. Next, some symbolic links were made from /bin and /usr/bin to the installed binary in /usr/local/bin, and the $PYTHONPATH environment variable was set to point to the /usr/local/lib/python2.2 directory as well as the current and parent directory, for non-standard modules (and programs with hardcoded references) such as llyn and retest: {{{$PYTHONPATH=/usr/local/lib/python2.2:.:..}}}.

The regression tester retest.py was then successfully tested with regression.n3 and the animal and animal-1 files.

Files

The following files from /cal/ were modified:

Changes and status

After changing/fixing toIcal.py to output original prodid and correct LAST-MODIFIED, and stripping X-properties and SEQUENCE keywords from input, the following test case now passes:

Then, stripping METHOD from .ics files gets the following tests to pass:

That leaves the following issues:

test/querymeetings.ics, test/20030423mtg.ics, test/20030416geomtg.ics, test/20030410querymtg.ics
A trailing whitespace in TZNAME for DAYLIGHT (stripped by toIcal.py).
test/gkexample.ics, test/MozexportAsCalendar.ics
Missing CALSCALE:GREGORIAN on input (always generated by toIcal.py).
test/openingHours.ics
Missing PRODID on input (thus extraneous prodid, version and calscale generated by toIcal.py).
test/cal01.ics
Unknown (to toIcal) properties like attendee, organiser etc.
test/bus-hrs.ics
Unknown (to toIcal) properties transp and class.