I gave a talk today for Py Web SF called "Techniques for Building Third-party RESTful Web Services". Aside from covering a lot of material from the book "RESTful Web Services", I also covered a handful of tips and tricks that I discovered were necessary when creating a third-party RESTful Web Service meant for consumption by Web browsers. Here are the slides in OpenOffice.org format.
In his keynote at PyCon, Eben Upton, the Executive Director of the Rasberry Pi Foundation, mentioned that not only has Minecraft been ported to the Rasberry Pi, but you can even control it with Python . Since four of my kids are avid Minecraft fans, I figured this might be a good time to teach them to program using Python. So I started yesterday with the goal of programming something cool for Minecraft and then showing it off at the San Francisco Python Meetup in the evening. The first problem that I faced was that I didn't have a Rasberry Pi. You can't hack Minecraft by just installing the Minecraft client. Speaking of which, I didn't have the Minecraft client installed either ;) My kids always play it on their Nexus 7s. I found an open source Minecraft server called Bukkit that "provides the means to extend the popular Minecraft multiplayer server." Then I found a plugin called RaspberryJuice that implements a subset of the Minecraft Pi modding API for B
Comments
The answer, I think, is to go down a level and use httplib directly instead of living with urllib2 and its assumption that all 403s and 404s (for example) should have exceptions raised for them. I've been too lazy to do it yet though. :)
Also, rather than have a script tag load content into a div above the script tag, it's possible to replace the script tag with an automatically generated div.
Apparently the Firefox support for XHR across domains I mentioned is actually a standard. See https://developer.mozilla.org/En/HTTP_access_control and I haven't checked to see what other modern browsers do/will support it.
404 Not Found
The server can not find the requested page:
ironorchid.com/jjinux/articles/restful_web_services/slides.odp (port 80)
Please forward this error screen to ironorchid.com's WebMaster.