started icalWebize.py, a replacement for ical2rdf.pl

As we discussed on Wednesday, ical2rdf.pl is so crufty
that none of us likes to maintain it very much.

"Plan to throw the first one away - you will anyway" (Fred Brooks).

Now that I understand iCalendar data better,
I managed to code up the basic structure that
I designed while brushing my teeth and such...

  http://www.w3.org/2002/12/cal/icalWebize.py
  v 1.3 2004/02/06 07:13:24

It doesn't work well enough to pass any of the tests
yet; it needs support for non-text properties, like
dates, before it'll do anything really interesting.

But unlike ical2rdf.pl where iterating over lines
dominated the whole program, icalWebize.py has a nice
stepwise design for dealing with iCalendar data:

  - contentLines(fp) does line folding and calls
    parseLine() to break up name/params/value

  - findComponents() builds a nested list
    of components

  - doCalendarObject serializes properties
	and subcomponents as RDF/XML
  - doEvent likewise

... and so on.

For output, I'm using a sax-based XML writer from the
python-xml package. I'm not sure I'm happy with it, but
the sax interface is pretty stable and I'm sure it would be
easy to slot in something better. I could use an RDF
serializer, but that seems like overkill.


-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
see you at the W3C Tech Plenary in Cannes 1-5 Mar 2003?

Received on Friday, 6 February 2004 02:26:58 UTC