boto/boto — pull request #2203 by disruptek (2014-04-04 04:59:37+00:00)
Title: 100% API coverage for MWS, extension enhancements

This is a breaking change in that it alters the way the `ResponseFactory` works in order to make it easier to slice and dice where custom parsers come from, share factories between connection objects, and other such gymnastics. It also alters or renames some internal interfaces, though that shouldn't present any great problems to users. With so many calls, I was starting to worry that we'd have a name collision, and now all the private interfaces are _prefixed.

The good news is that this patch results in complete coverage for MWS, something like 95 calls. It gets us a little closer to eventually handling our own throttling using the quota/restore values I've been painstakingly transcribing throughout the code. It improves the way we destructure objects so that we can handle sending "member lists" and operate on arbitrary mapping objects and iterables. It applies the same `ResponseFactory` changes to exceptions so that they may be similarly easily extended and integrated. It supports sandboxing (for Off-Amazon Payments). It can receive arbitrary content types back from Amazon and be extended easily to act on that content usefully. And it eliminates all the boilerplate `*ByNextToken` parsing classes and does the right thing even if they have been extended.