I finally got myself out of my Trac plugin coding slump. Genshi is really making this a whole lot easier; I don't really know why I was manually generating XML from trees in the first place.
I am very grateful for the existence of Joe Gregorio's Atom Publishing Protocol test suite. There are only a couple of nits about it — first, it doesn't seem to play well with Multi-version installs of wxPython (seems to require 2.6, perhaps 2.5 [I only have 2.4 and 2.6 on my computer]), so I cooked up a really simple patch for that. Secondly, my wiki collection feed generates some warnings via Feed Validator, but in the logging pane, it records them as errors. Since it doesn't affect the functionality, I merely consider that a minor usability bug. But, this really doesn't seem to be meant for end users, so...whatever.
Anyway, for my capstone, I'm only working on the wiki part. GET
is done, and POST
is nearly done. DELETE
is done in theory (haven't tested it out yet), and PUT
still needs to be converted. POST
and PUT
now require some implementation of ElementTree to be installed, in order to parse the Atom Entry input. As an aside, ElementTree's find*()
methods are really poor substitutes for XPath. Also, this implementation utilizes the Atom MIME type parameter draft whenever possible.
Reminder: Bazaar URL is: http://bzr.malept.com/trac-atompp