)]}'
{"swift/account/server.py":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"5f8f65f8ca53cb71d14fb999aae1a0b2ae6cc81f","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            if not account_list:"},{"line_number":258,"context_line":"                resp_headers[\u0027Content-Type\u0027] \u003d req.accept.best_match("},{"line_number":259,"context_line":"                    [\u0027text/plain\u0027, \u0027application/json\u0027,"},{"line_number":260,"context_line":"                     \u0027application/xml\u0027, \u0027text/xml\u0027])"},{"line_number":261,"context_line":"                return HTTPNoContent(request\u003dreq, headers\u003dresp_headers,"},{"line_number":262,"context_line":"                                     charset\u003d\u0027utf-8\u0027)"},{"line_number":263,"context_line":"            account_list \u003d \u0027\\n\u0027.join(r[0] for r in account_list) + \u0027\\n\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FkHg%3D","line":260,"updated":"2013-05-03 17:56:17.000000000","message":"This seems bizarre. Why do we need a Content-Type header with a 204 No Content response?\n\nAlso, of those four content types, the empty string is not valid for three of them (it\u0027s not well-formed XML, nor is it valid JSON).","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"ddb652fd94e9600af618aef9d256301b3e37aca8","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            if not account_list:"},{"line_number":258,"context_line":"                resp_headers[\u0027Content-Type\u0027] \u003d req.accept.best_match("},{"line_number":259,"context_line":"                    [\u0027text/plain\u0027, \u0027application/json\u0027,"},{"line_number":260,"context_line":"                     \u0027application/xml\u0027, \u0027text/xml\u0027])"},{"line_number":261,"context_line":"                return HTTPNoContent(request\u003dreq, headers\u003dresp_headers,"},{"line_number":262,"context_line":"                                     charset\u003d\u0027utf-8\u0027)"},{"line_number":263,"context_line":"            account_list \u003d \u0027\\n\u0027.join(r[0] for r in account_list) + \u0027\\n\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2Fauc%3D","line":260,"in_reply_to":"AAAAOn%2F%2FkHg%3D","updated":"2013-05-10 06:54:17.000000000","message":"Explained; please disregard.","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"5f8f65f8ca53cb71d14fb999aae1a0b2ae6cc81f","unresolved":false,"context_lines":[{"line_number":259,"context_line":"                    [\u0027text/plain\u0027, \u0027application/json\u0027,"},{"line_number":260,"context_line":"                     \u0027application/xml\u0027, \u0027text/xml\u0027])"},{"line_number":261,"context_line":"                return HTTPNoContent(request\u003dreq, headers\u003dresp_headers,"},{"line_number":262,"context_line":"                                     charset\u003d\u0027utf-8\u0027)"},{"line_number":263,"context_line":"            account_list \u003d \u0027\\n\u0027.join(r[0] for r in account_list) + \u0027\\n\u0027"},{"line_number":264,"context_line":"        ret \u003d Response(body\u003daccount_list, request\u003dreq, headers\u003dresp_headers)"},{"line_number":265,"context_line":"        ret.content_type \u003d out_content_type"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FkG0%3D","line":262,"updated":"2013-05-03 17:56:17.000000000","message":"What is the charset of an empty string?\n\nHm... I guess if you consider a valid UTF8 string to be a sequence of 0 or more UTF8-encoded codepoints, then I guess this works. Still, why UTF8 and not UTF32, US-ASCII, or iso-8859-1?","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"ddb652fd94e9600af618aef9d256301b3e37aca8","unresolved":false,"context_lines":[{"line_number":259,"context_line":"                    [\u0027text/plain\u0027, \u0027application/json\u0027,"},{"line_number":260,"context_line":"                     \u0027application/xml\u0027, \u0027text/xml\u0027])"},{"line_number":261,"context_line":"                return HTTPNoContent(request\u003dreq, headers\u003dresp_headers,"},{"line_number":262,"context_line":"                                     charset\u003d\u0027utf-8\u0027)"},{"line_number":263,"context_line":"            account_list \u003d \u0027\\n\u0027.join(r[0] for r in account_list) + \u0027\\n\u0027"},{"line_number":264,"context_line":"        ret \u003d Response(body\u003daccount_list, request\u003dreq, headers\u003dresp_headers)"},{"line_number":265,"context_line":"        ret.content_type \u003d out_content_type"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FauY%3D","line":262,"in_reply_to":"AAAAOn%2F%2FkG0%3D","updated":"2013-05-10 06:54:17.000000000","message":"Explained; please disregard.","commit_id":"117be88235436df7751178859c3700f7d6b16036"}],"test/unit/proxy/test_server.py":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"ddb652fd94e9600af618aef9d256301b3e37aca8","unresolved":false,"context_lines":[{"line_number":435,"context_line":"            test(404, 507, 503)"},{"line_number":436,"context_line":"            test(503, 503, 503)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def test_account_info_account_no_acccount(self):"},{"line_number":439,"context_line":"        with save_globals():"},{"line_number":440,"context_line":"            self.memcache.store \u003d {}"},{"line_number":441,"context_line":"            set_http_connect(404, 404, 404)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2Favc%3D","line":438,"updated":"2013-05-10 06:54:17.000000000","message":"there\u0027s three cs here; you only need two.\n\nMaybe just call it \"test_account_info_no_account\". The word \"account\" is in here too many times.","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":4108,"name":"David Hadas","email":"davidh@il.ibm.com","username":"david-hadas"},"change_message_id":"092300d68e86eff4a5b734653f1431a224d74c85","unresolved":false,"context_lines":[{"line_number":435,"context_line":"            test(404, 507, 503)"},{"line_number":436,"context_line":"            test(503, 503, 503)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def test_account_info_account_no_acccount(self):"},{"line_number":439,"context_line":"        with save_globals():"},{"line_number":440,"context_line":"            self.memcache.store \u003d {}"},{"line_number":441,"context_line":"            set_http_connect(404, 404, 404)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAO3%2F%2F8go%3D","line":438,"in_reply_to":"AAAAOn%2F%2Favc%3D","updated":"2013-05-16 14:40:20.000000000","message":"Done","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"ddb652fd94e9600af618aef9d256301b3e37aca8","unresolved":false,"context_lines":[{"line_number":4505,"context_line":"            self.assertFalse(self.app.account_autocreate)"},{"line_number":4506,"context_line":"            test_status_map((404, 404, 404), 404, missing_container\u003dTrue)"},{"line_number":4507,"context_line":"            self.app.account_autocreate \u003d True"},{"line_number":4508,"context_line":"            #fail to retrive account info"},{"line_number":4509,"context_line":"            test_status_map("},{"line_number":4510,"context_line":"                (503, 503, 503), # account_info fails on 503"},{"line_number":4511,"context_line":"                 404, missing_container\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2Fau4%3D","line":4508,"updated":"2013-05-10 06:54:17.000000000","message":"*retrieve","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":4108,"name":"David Hadas","email":"davidh@il.ibm.com","username":"david-hadas"},"change_message_id":"092300d68e86eff4a5b734653f1431a224d74c85","unresolved":false,"context_lines":[{"line_number":4505,"context_line":"            self.assertFalse(self.app.account_autocreate)"},{"line_number":4506,"context_line":"            test_status_map((404, 404, 404), 404, missing_container\u003dTrue)"},{"line_number":4507,"context_line":"            self.app.account_autocreate \u003d True"},{"line_number":4508,"context_line":"            #fail to retrive account info"},{"line_number":4509,"context_line":"            test_status_map("},{"line_number":4510,"context_line":"                (503, 503, 503), # account_info fails on 503"},{"line_number":4511,"context_line":"                 404, missing_container\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAO3%2F%2F8gw%3D","line":4508,"in_reply_to":"AAAAOn%2F%2Fau4%3D","updated":"2013-05-16 14:40:20.000000000","message":"Done","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"ddb652fd94e9600af618aef9d256301b3e37aca8","unresolved":false,"context_lines":[{"line_number":4513,"context_line":"            test_status_map("},{"line_number":4514,"context_line":"                (404, 404, 404, # account_info fails on 404"},{"line_number":4515,"context_line":"                 201, 201, 201, # PUT account"},{"line_number":4516,"context_line":"                 404, 404, 404), # account_info fail"},{"line_number":4517,"context_line":"                 404, missing_container\u003dTrue)"},{"line_number":4518,"context_line":"            test_status_map("},{"line_number":4519,"context_line":"                (503, 503, 404, # account_info fails on 404"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2Fau0%3D","line":4516,"updated":"2013-05-10 06:54:17.000000000","message":"I am a big fan of these explanatory comments. Thank you for having them.","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"ddb652fd94e9600af618aef9d256301b3e37aca8","unresolved":false,"context_lines":[{"line_number":4523,"context_line":"            #put fails"},{"line_number":4524,"context_line":"            test_status_map("},{"line_number":4525,"context_line":"                (404, 404, 404, # account_info fails on 404"},{"line_number":4526,"context_line":"                 201, 201, 201, # PUT account "},{"line_number":4527,"context_line":"                 200, # account_info success"},{"line_number":4528,"context_line":"                 503, 503, 201), # put container fail"},{"line_number":4529,"context_line":"                 503, missing_container\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FavY%3D","line":4526,"updated":"2013-05-10 06:54:17.000000000","message":"Got a little trailing whitespace here. Does that make pep8 unhappy, or does it only care about non-comment trailing whitespace?\n\nEither way, it\u0027d be nice to clean up. Not a big deal, obviously, just nice.","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":4108,"name":"David Hadas","email":"davidh@il.ibm.com","username":"david-hadas"},"change_message_id":"092300d68e86eff4a5b734653f1431a224d74c85","unresolved":false,"context_lines":[{"line_number":4523,"context_line":"            #put fails"},{"line_number":4524,"context_line":"            test_status_map("},{"line_number":4525,"context_line":"                (404, 404, 404, # account_info fails on 404"},{"line_number":4526,"context_line":"                 201, 201, 201, # PUT account "},{"line_number":4527,"context_line":"                 200, # account_info success"},{"line_number":4528,"context_line":"                 503, 503, 201), # put container fail"},{"line_number":4529,"context_line":"                 503, missing_container\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAO3%2F%2F8gU%3D","line":4526,"in_reply_to":"AAAAOn%2F%2FavY%3D","updated":"2013-05-16 14:40:20.000000000","message":"Done","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"ddb652fd94e9600af618aef9d256301b3e37aca8","unresolved":false,"context_lines":[{"line_number":4532,"context_line":"                (404, 404, 404, # account_info fails on 404"},{"line_number":4533,"context_line":"                 201, 201, 201, # PUT account"},{"line_number":4534,"context_line":"                 200, # account_info success"},{"line_number":4535,"context_line":"                 201, 201, 201), # put container sucess"},{"line_number":4536,"context_line":"                 201, missing_container\u003dTrue)"},{"line_number":4537,"context_line":"            test_status_map("},{"line_number":4538,"context_line":"                (503, 404, 404, # account_info fails on 404"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FavE%3D","line":4535,"updated":"2013-05-10 06:54:17.000000000","message":"*success (two cs)","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":4108,"name":"David Hadas","email":"davidh@il.ibm.com","username":"david-hadas"},"change_message_id":"092300d68e86eff4a5b734653f1431a224d74c85","unresolved":false,"context_lines":[{"line_number":4532,"context_line":"                (404, 404, 404, # account_info fails on 404"},{"line_number":4533,"context_line":"                 201, 201, 201, # PUT account"},{"line_number":4534,"context_line":"                 200, # account_info success"},{"line_number":4535,"context_line":"                 201, 201, 201), # put container sucess"},{"line_number":4536,"context_line":"                 201, missing_container\u003dTrue)"},{"line_number":4537,"context_line":"            test_status_map("},{"line_number":4538,"context_line":"                (503, 404, 404, # account_info fails on 404"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAO3%2F%2F8gQ%3D","line":4535,"in_reply_to":"AAAAOn%2F%2FavE%3D","updated":"2013-05-16 14:40:20.000000000","message":"Done","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"ddb652fd94e9600af618aef9d256301b3e37aca8","unresolved":false,"context_lines":[{"line_number":4538,"context_line":"                (503, 404, 404, # account_info fails on 404"},{"line_number":4539,"context_line":"                 503, 201, 201, # PUT account"},{"line_number":4540,"context_line":"                 503, 200, # account_info success"},{"line_number":4541,"context_line":"                 503, 201, 201), # put container sucess"},{"line_number":4542,"context_line":"                 201, missing_container\u003dTrue)"},{"line_number":4543,"context_line":""},{"line_number":4544,"context_line":"    def test_POST(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FavA%3D","line":4541,"updated":"2013-05-10 06:54:17.000000000","message":"*success (two cs)","commit_id":"117be88235436df7751178859c3700f7d6b16036"},{"author":{"_account_id":4108,"name":"David Hadas","email":"davidh@il.ibm.com","username":"david-hadas"},"change_message_id":"092300d68e86eff4a5b734653f1431a224d74c85","unresolved":false,"context_lines":[{"line_number":4538,"context_line":"                (503, 404, 404, # account_info fails on 404"},{"line_number":4539,"context_line":"                 503, 201, 201, # PUT account"},{"line_number":4540,"context_line":"                 503, 200, # account_info success"},{"line_number":4541,"context_line":"                 503, 201, 201), # put container sucess"},{"line_number":4542,"context_line":"                 201, missing_container\u003dTrue)"},{"line_number":4543,"context_line":""},{"line_number":4544,"context_line":"    def test_POST(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAO3%2F%2F8gM%3D","line":4541,"in_reply_to":"AAAAOn%2F%2FavA%3D","updated":"2013-05-16 14:40:20.000000000","message":"Done","commit_id":"117be88235436df7751178859c3700f7d6b16036"}]}
