First steps towards an inventory api client including some tests. I am using a dedicated sandbox instance of inventory on my dev server for these tests, using the fixture data for testing get requests. I need to add read/wriet authorization to inventory before I can begin testing the other functions.
Modified authentication for inventory http methods. Now using HTTP header instead of body data to deliver credentials. Also adjusted test response expectations to proper HTTP responses codes (not always 200, sometimes 201, 202, etc). Fixes #1
Revamped Collection, Project, and Item modesl to match flickr.py api client style. Added argument parsing to clint.py
Added commands for creating and displaying objects in clint. Fleshed out much of the inventory api client.  This commit is only partially working, but I'm pushing to github now so I can work on it from home.
Completed Item and Bag creation methods.
Added edit and delete functions to clint
Significant changes to the argument parsing of clint. It now supports nested parsers so we can write out commands like

clint add bag

or

clint edit item --title 'Django Shoots First'

The nested parsers allow each type of item to have its own argument list.

Also changed some of the inventory.py models to better support option lists.
Added parsers for bag operations and stubs for actual methods
Fleshed out BagAction model in inventory api client. Added validate method to clint.
Added rebag (update) function to clint
Adjusted existing tests to new inventory base http methods
Added sample data containing one unbagged item
Removed old code that was commented out
Added helper function to parse ids in API response headers. Rewrote tests for basic http methods
Fixed typos in tests module
Added unit tests for put and patch base http methods
Removed old redundant test code
Added new method for prompting user for input in add and edit commands. Now prefilling entry space with current values to allow user to simply hit return to leave a field unchanged. Fixes #10
Added logic to detect bagpath and name in 'bag' command. Fixes #9
Added logic to replace forward slash in bag names with underscore. Also added logic to update bag path if the bagname is changed in the 'bag' command. References #8 but does not fix it. This is a temporary fix to stop errors. Will discuss proper method of handling bagnames and then apply permanent fix for this issue.