boto/boto — pull request #1386 by nathan11g (2013-03-13 07:38:04+00:00)
Title: Parsing website configuration xml

Changes to the `boto.s3.website` module to allow parsing of the website configuration xml.

- Now the website configuration can be downloaded, edited, and re-uploaded
- `website.RoutingRules` now extends `list`, to allow deleting routing rules

This also defines 4 new methods on `s3.bucket.Bucket`

- `get_website_configuration_obj` returns a `WebsiteConfiguration` object
- `get_website_configuration_xml`, returns only the xml of the configuration
- `set_website_configuration` uses a `WebsiteConfiguration` object to set the configuration
- `set_website_configuration_xml` sets the raw xml

These make the methods `get_website_configuration` and `get_website_configuration_with_xml`, which returned a nested dictionary representation of the configuration, largely obsolete.

Of course, `get_website_configuration` would be the better name for `get_website_configuration_obj`, but I didn't want to break backward compatibility. Maybe at some point in the future? Or is there a better way to handle this?

I'm open to any other suggestions about this, if you would like me to make any changes.