)]}'
{"trove/backup/models.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"82af684bfe7dd71c519605039f4ca3cbb2441e0a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            client \u003d create_swift_client(context)"},{"line_number":259,"context_line":"            client.get_account()"},{"line_number":260,"context_line":"        except ClientException:"},{"line_number":261,"context_line":"            raise exception.SwiftAuthError(tenant_id\u003dcontext.tenant)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"def persisted_models():"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_975e1012","side":"PARENT","line":261,"updated":"2014-08-07 22:59:00.000000000","message":"Why is this not an Auth Error?","commit_id":"99a48713adcd414ccac2d1f490e2f849e090f399"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"c83ee800e7de0a76a614d889ce9d21a745243d61","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            client \u003d create_swift_client(context)"},{"line_number":259,"context_line":"            client.get_account()"},{"line_number":260,"context_line":"        except ClientException:"},{"line_number":261,"context_line":"            raise exception.SwiftAuthError(tenant_id\u003dcontext.tenant)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"def persisted_models():"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_a4491968","side":"PARENT","line":261,"in_reply_to":"baada198_975e1012","updated":"2014-08-12 11:39:36.000000000","message":"Because if Swift is not available Trove should not raise 401. It\u0027s completely different type of exception.","commit_id":"99a48713adcd414ccac2d1f490e2f849e090f399"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"a239e76aa8cce8465de3a23e5f69272b1365912a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            client \u003d create_swift_client(context)"},{"line_number":259,"context_line":"            client.get_account()"},{"line_number":260,"context_line":"        except ClientException:"},{"line_number":261,"context_line":"            raise exception.SwiftAuthError(tenant_id\u003dcontext.tenant)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"def persisted_models():"}],"source_content_type":"text/x-python","patch_set":2,"id":"1abeadc6_666853f6","side":"PARENT","line":261,"in_reply_to":"baada198_a4491968","updated":"2014-08-18 06:43:22.000000000","message":"What if e.http_status is 401, or 403 meaning that this is actually an Auth error? \n\nThis doesn\u0027t seem to be able to differentiate correctly.","commit_id":"99a48713adcd414ccac2d1f490e2f849e090f399"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"82af684bfe7dd71c519605039f4ca3cbb2441e0a","unresolved":false,"context_lines":[{"line_number":329,"context_line":"            elif e.http_status \u003d\u003d 401:"},{"line_number":330,"context_line":"                raise exception.SwiftAuthError(tenant_id\u003dcontext.tenant)"},{"line_number":331,"context_line":"            else:"},{"line_number":332,"context_line":"                raise exception.SwiftInteractionError(code\u003de.http_status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_b7b07441","line":332,"updated":"2014-08-07 22:59:00.000000000","message":"Making this a bad request implies that the user should not retry the request. That seems wrong. If the error is in Swift and it is a transient, mapping everything to 400 is wrong.","commit_id":"f38c3df7c9a980358463d0df03720ceb30d939d9"}],"trove/common/exception.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"82af684bfe7dd71c519605039f4ca3cbb2441e0a","unresolved":false,"context_lines":[{"line_number":371,"context_line":""},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"class SwiftInteractionError(TroveError):"},{"line_number":374,"context_line":"    message \u003d _(\"Swift interaction error. Response code: %(code)s.\")"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"class SwiftAuthError(SwiftInteractionError):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_54f556ca","line":374,"updated":"2014-08-07 22:59:00.000000000","message":"This message is of little use to an end user. It provides no actionable information other than a code and that an error occurred.","commit_id":"f38c3df7c9a980358463d0df03720ceb30d939d9"}]}
