)]}'
{"swiftclient/client.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":1815,"context_line":"                           response_dict\u003dresponse_dict)"},{"line_number":1816,"context_line":""},{"line_number":1817,"context_line":"    def delete_object(self, container, obj, query_string\u003dNone,"},{"line_number":1818,"context_line":"                      response_dict\u003dNone, headers\u003dNone):"},{"line_number":1819,"context_line":"        \"\"\"Wrapper for :func:`delete_object`\"\"\""},{"line_number":1820,"context_line":"        return self._retry(None, delete_object, container, obj,"},{"line_number":1821,"context_line":"                           query_string\u003dquery_string,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_a1f1e297","line":1818,"updated":"2016-09-19 22:20:10.000000000","message":"Good catch!","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"b84f4fce7b47b9dbeb50bb374ec064245efbc912","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                      (If None, it will create the conn object)"},{"line_number":711,"context_line":"    :param full_listing: if True, return a full listing, else returns a max"},{"line_number":712,"context_line":"                         of 10000 listings"},{"line_number":713,"context_line":"    :param service_token: service auth token"},{"line_number":714,"context_line":"    :returns: a tuple of (response headers, a list of containers) The response"},{"line_number":715,"context_line":"              headers will be a dict and all header names will be lowercase."},{"line_number":716,"context_line":"    :raises ClientException: HTTP GET request failed"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_e07104e2","line":713,"updated":"2016-11-07 04:54:23.000000000","message":"Need to add headers param","commit_id":"7d390cfe9623ba8ebedbcd7f57fff5efe5d6ffa2"}],"swiftclient/service.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":2253,"context_line":"                       results_queue\u003dNone):"},{"line_number":2254,"context_line":"        _del_headers \u003d {}"},{"line_number":2255,"context_line":"        if \u0027header\u0027 in options:"},{"line_number":2256,"context_line":"            _del_headers \u003d split_headers(options[\u0027header\u0027], \u0027\u0027)"},{"line_number":2257,"context_line":"        res \u003d {"},{"line_number":2258,"context_line":"            \u0027action\u0027: \u0027delete_object\u0027,"},{"line_number":2259,"context_line":"            \u0027container\u0027: container,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_21e792ad","line":2256,"range":{"start_line":2256,"start_character":58,"end_line":2256,"end_character":62},"updated":"2016-09-19 22:20:10.000000000","message":"nit: You could omit the prefix if you wanted; empty-string is the default.","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":2296,"context_line":""},{"line_number":2297,"context_line":"                    for seg in seg_list:"},{"line_number":2298,"context_line":"                        del_seg \u003d segment_pool.submit("},{"line_number":2299,"context_line":"                            self._delete_segment, s_container,"},{"line_number":2300,"context_line":"                            seg, results_queue\u003dresults_queue"},{"line_number":2301,"context_line":"                        )"},{"line_number":2302,"context_line":"                        del_segs.append(del_seg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_61243ac6","line":2299,"updated":"2016-09-19 22:20:10.000000000","message":"I\u0027m a little torn about whether the headers should also be sent for the segment DELETEs. I think I might be leaning toward not doing it (i.e., leaving the current code as written), but I\u0027d be interested in hearing other reviewers\u0027 thoughts.","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"change_message_id":"96e547d26a7850c0ac99fcd98d7b8b5f38dad7d4","unresolved":false,"context_lines":[{"line_number":2296,"context_line":""},{"line_number":2297,"context_line":"                    for seg in seg_list:"},{"line_number":2298,"context_line":"                        del_seg \u003d segment_pool.submit("},{"line_number":2299,"context_line":"                            self._delete_segment, s_container,"},{"line_number":2300,"context_line":"                            seg, results_queue\u003dresults_queue"},{"line_number":2301,"context_line":"                        )"},{"line_number":2302,"context_line":"                        del_segs.append(del_seg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_f32ac82b","line":2299,"in_reply_to":"7a8ec9b2_61243ac6","updated":"2016-09-20 08:07:09.000000000","message":"yeah! I have the same idea on that, but I think put the header on the segment DELETEs should be fine unless there is a custom middleware needs header to do some operations.","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"323ef72c582e5f1e78acf67122c23570dd993c3a","unresolved":false,"context_lines":[{"line_number":296,"context_line":"#                 \"Metadata parameter %s must contain a \u0027:\u0027.\\n%s\""},{"line_number":297,"context_line":"#                 % (item, \"Example: \u0027Color:Blue\u0027 or \u0027Size:Large\u0027\")"},{"line_number":298,"context_line":"#             )"},{"line_number":299,"context_line":"#     return headers"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"class SwiftUploadObject(object):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_b495a489","line":299,"updated":"2016-11-04 21:39:33.000000000","message":"Can we just remove the commented-out code?\n\nAnd as a nit, this could be re-written as\n\n def split_headers(options, prefix\u003d\u0027\u0027):\n     try:\n         return split_request_headers(options, prefix)\n     except ValueError as e:\n         raise SwiftError(e)\n\n(i.e., drop the `headers` variable entirely)","commit_id":"0bed5fb967a026adc5c35c954f124c198c11748c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"323ef72c582e5f1e78acf67122c23570dd993c3a","unresolved":false,"context_lines":[{"line_number":2278,"context_line":"            if not options[\u0027leave_segments\u0027]:"},{"line_number":2279,"context_line":"                try:"},{"line_number":2280,"context_line":"                    headers \u003d conn.head_object(container, obj,"},{"line_number":2281,"context_line":"                                               headers\u003d_headers)"},{"line_number":2282,"context_line":"                    old_manifest \u003d headers.get(\u0027x-object-manifest\u0027)"},{"line_number":2283,"context_line":"                    if config_true_value(headers.get(\u0027x-static-large-object\u0027)):"},{"line_number":2284,"context_line":"                        query_string \u003d \u0027multipart-manifest\u003ddelete\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_b4c3e489","line":2281,"updated":"2016-11-04 21:39:33.000000000","message":"I\u0027m torn about whether we should actually plumb this through here. If I include a -H arg on the command line, I expect it to come through in the DELETE requests, but I wouldn\u0027t necessarily expect it for any HEADs, and it may lead to unexpected behavior.\n\nAt the same time, there isn\u0027t any other way to set headers on this request...","commit_id":"0bed5fb967a026adc5c35c954f124c198c11748c"}],"swiftclient/shell.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":58,"context_line":"st_delete_options \u003d \u0027\u0027\u0027[--all] [--leave-segments]"},{"line_number":59,"context_line":"                    [--object-threads \u003cthreads\u003e]"},{"line_number":60,"context_line":"                    [--container-threads \u003cthreads\u003e]"},{"line_number":61,"context_line":"                      [--header \u003cheader:value\u003e]"},{"line_number":62,"context_line":"                    [\u003ccontainer\u003e [\u003cobject\u003e] [...]]"},{"line_number":63,"context_line":"\u0027\u0027\u0027"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_13258dad","line":61,"updated":"2016-09-19 22:20:10.000000000","message":"nit: alignment\u0027s slightly off. Looks like you need to delete two of the leading spaces.","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"change_message_id":"96e547d26a7850c0ac99fcd98d7b8b5f38dad7d4","unresolved":false,"context_lines":[{"line_number":58,"context_line":"st_delete_options \u003d \u0027\u0027\u0027[--all] [--leave-segments]"},{"line_number":59,"context_line":"                    [--object-threads \u003cthreads\u003e]"},{"line_number":60,"context_line":"                    [--container-threads \u003cthreads\u003e]"},{"line_number":61,"context_line":"                      [--header \u003cheader:value\u003e]"},{"line_number":62,"context_line":"                    [\u003ccontainer\u003e [\u003cobject\u003e] [...]]"},{"line_number":63,"context_line":"\u0027\u0027\u0027"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_531a9c18","line":61,"in_reply_to":"7a8ec9b2_13258dad","updated":"2016-09-20 08:07:09.000000000","message":"Done","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  -a, --all             Delete all containers and objects."},{"line_number":75,"context_line":"  --leave-segments      Do not delete segments of manifest objects."},{"line_number":76,"context_line":"  -H, --header \u003cheader:value\u003e"},{"line_number":77,"context_line":"                        Adds a customized request header to use for deleting"},{"line_number":78,"context_line":"                        objectsr."},{"line_number":79,"context_line":"  --object-threads \u003cthreads\u003e"},{"line_number":80,"context_line":"                        Number of threads to use for deleting objects."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_536d55cb","line":77,"range":{"start_line":77,"start_character":31,"end_line":77,"end_character":41},"updated":"2016-09-19 22:20:10.000000000","message":"nit: just \"custom\" seems like a better fit to me.","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"change_message_id":"96e547d26a7850c0ac99fcd98d7b8b5f38dad7d4","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  -a, --all             Delete all containers and objects."},{"line_number":75,"context_line":"  --leave-segments      Do not delete segments of manifest objects."},{"line_number":76,"context_line":"  -H, --header \u003cheader:value\u003e"},{"line_number":77,"context_line":"                        Adds a customized request header to use for deleting"},{"line_number":78,"context_line":"                        objectsr."},{"line_number":79,"context_line":"  --object-threads \u003cthreads\u003e"},{"line_number":80,"context_line":"                        Number of threads to use for deleting objects."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_93d26433","line":77,"range":{"start_line":77,"start_character":31,"end_line":77,"end_character":41},"in_reply_to":"7a8ec9b2_536d55cb","updated":"2016-09-20 08:07:09.000000000","message":"Done","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":75,"context_line":"  --leave-segments      Do not delete segments of manifest objects."},{"line_number":76,"context_line":"  -H, --header \u003cheader:value\u003e"},{"line_number":77,"context_line":"                        Adds a customized request header to use for deleting"},{"line_number":78,"context_line":"                        objectsr."},{"line_number":79,"context_line":"  --object-threads \u003cthreads\u003e"},{"line_number":80,"context_line":"                        Number of threads to use for deleting objects."},{"line_number":81,"context_line":"                        Default is 10."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_9367dde9","line":78,"range":{"start_line":78,"start_character":24,"end_line":78,"end_character":32},"updated":"2016-09-19 22:20:10.000000000","message":"s/objectsr/objects (and the container, if deleting an entire container)/","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"change_message_id":"96e547d26a7850c0ac99fcd98d7b8b5f38dad7d4","unresolved":false,"context_lines":[{"line_number":75,"context_line":"  --leave-segments      Do not delete segments of manifest objects."},{"line_number":76,"context_line":"  -H, --header \u003cheader:value\u003e"},{"line_number":77,"context_line":"                        Adds a customized request header to use for deleting"},{"line_number":78,"context_line":"                        objectsr."},{"line_number":79,"context_line":"  --object-threads \u003cthreads\u003e"},{"line_number":80,"context_line":"                        Number of threads to use for deleting objects."},{"line_number":81,"context_line":"                        Default is 10."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_b3d76022","line":78,"range":{"start_line":78,"start_character":24,"end_line":78,"end_character":32},"in_reply_to":"7a8ec9b2_9367dde9","updated":"2016-09-20 08:07:09.000000000","message":"Done","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                if objects:"},{"line_number":151,"context_line":"                    del_iter \u003d swift.delete(container\u003dcontainer,"},{"line_number":152,"context_line":"                                            objects\u003dobjects,"},{"line_number":153,"context_line":"                                            options\u003doptions)"},{"line_number":154,"context_line":"                else:"},{"line_number":155,"context_line":"                    del_iter \u003d swift.delete(container\u003dcontainer,"},{"line_number":156,"context_line":"                                            options\u003doptions)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_934a7d26","line":153,"updated":"2016-09-19 22:20:10.000000000","message":"Won\u0027t the options already be present from when we initialized the SwiftService?","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"change_message_id":"96e547d26a7850c0ac99fcd98d7b8b5f38dad7d4","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                if objects:"},{"line_number":151,"context_line":"                    del_iter \u003d swift.delete(container\u003dcontainer,"},{"line_number":152,"context_line":"                                            objects\u003dobjects,"},{"line_number":153,"context_line":"                                            options\u003doptions)"},{"line_number":154,"context_line":"                else:"},{"line_number":155,"context_line":"                    del_iter \u003d swift.delete(container\u003dcontainer,"},{"line_number":156,"context_line":"                                            options\u003doptions)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_f3e1e8ff","line":153,"in_reply_to":"7a8ec9b2_934a7d26","updated":"2016-09-20 08:07:09.000000000","message":"Done","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                                            options\u003doptions)"},{"line_number":154,"context_line":"                else:"},{"line_number":155,"context_line":"                    del_iter \u003d swift.delete(container\u003dcontainer,"},{"line_number":156,"context_line":"                                            options\u003doptions)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"            for r in del_iter:"},{"line_number":159,"context_line":"                c \u003d r.get(\u0027container\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_d36b2584","line":156,"updated":"2016-09-19 22:20:10.000000000","message":"So when we\u0027re deleting one or more whole containers, we send the same headers to the container as well as all of the objects within it, right?","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"change_message_id":"96e547d26a7850c0ac99fcd98d7b8b5f38dad7d4","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                                            options\u003doptions)"},{"line_number":154,"context_line":"                else:"},{"line_number":155,"context_line":"                    del_iter \u003d swift.delete(container\u003dcontainer,"},{"line_number":156,"context_line":"                                            options\u003doptions)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"            for r in del_iter:"},{"line_number":159,"context_line":"                c \u003d r.get(\u0027container\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_1193bafb","line":156,"in_reply_to":"7a8ec9b2_d36b2584","updated":"2016-09-20 08:07:09.000000000","message":"Correct!","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"}],"tests/unit/test_service.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"323ef72c582e5f1e78acf67122c23570dd993c3a","unresolved":false,"context_lines":[{"line_number":730,"context_line":"        opt_c \u003d self.opts.copy()"},{"line_number":731,"context_line":"        opt_c[\u0027header\u0027] \u003d [\u0027Skip-Middleware: True\u0027]"},{"line_number":732,"context_line":"        SwiftService._list_account_job("},{"line_number":733,"context_line":"            mock_conn, self.opts, mock_q"},{"line_number":734,"context_line":"        )"},{"line_number":735,"context_line":"        self.assertEqual(expected_r, self._get_queue(mock_q))"},{"line_number":736,"context_line":"        self.assertIsNone(self._get_queue(mock_q))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_d4221801","line":733,"range":{"start_line":733,"start_character":23,"end_line":733,"end_character":32},"updated":"2016-11-04 21:39:33.000000000","message":"We want opt_c here. Otherwise, we aren\u0027t actually testing the new option.","commit_id":"0bed5fb967a026adc5c35c954f124c198c11748c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"323ef72c582e5f1e78acf67122c23570dd993c3a","unresolved":false,"context_lines":[{"line_number":733,"context_line":"            mock_conn, self.opts, mock_q"},{"line_number":734,"context_line":"        )"},{"line_number":735,"context_line":"        self.assertEqual(expected_r, self._get_queue(mock_q))"},{"line_number":736,"context_line":"        self.assertIsNone(self._get_queue(mock_q))"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"    def test_list_account_exception(self):"},{"line_number":739,"context_line":"        mock_q \u003d Queue()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_f4f0fccb","line":736,"updated":"2016-11-04 21:39:33.000000000","message":"Seems like we ought to have some assertions on mock_conn, and the fact that our Skip-Middleware header made it through.","commit_id":"0bed5fb967a026adc5c35c954f124c198c11748c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"323ef72c582e5f1e78acf67122c23570dd993c3a","unresolved":false,"context_lines":[{"line_number":861,"context_line":"            mock_conn, \u0027test_c\u0027, self.opts, mock_q"},{"line_number":862,"context_line":"        )"},{"line_number":863,"context_line":"        self.assertEqual(expected_r, self._get_queue(mock_q))"},{"line_number":864,"context_line":"        self.assertIsNone(self._get_queue(mock_q))"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"    def test_list_container_exception(self):"},{"line_number":867,"context_line":"        mock_q \u003d Queue()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_34b994ed","line":864,"updated":"2016-11-04 21:39:33.000000000","message":"Also needs assertions on mock_conn","commit_id":"0bed5fb967a026adc5c35c954f124c198c11748c"}],"tests/unit/test_shell.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"                mock_func.return_value \u003d [res]"},{"line_number":1019,"context_line":"                swiftclient.shell.main(base_argv + [container.encode(\u0027utf-8\u0027)])"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"                mock_func.assert_called_once_with(container\u003dcontainer)"},{"line_number":1022,"context_line":"                self.assertTrue(out.out.find("},{"line_number":1023,"context_line":"                    \u0027obj_t\\u00east_o [after 2 attempts]\u0027) \u003e\u003d 0, out)"},{"line_number":1024,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_65ba7cc2","line":1021,"updated":"2016-09-19 22:20:10.000000000","message":"Needs header plumbing.","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"294bc76098611ebf734df9dc09d9a8e3b1096e29","unresolved":false,"context_lines":[{"line_number":1087,"context_line":"                swiftclient.shell.main(base_argv + [\u0027t\\xe9st_c\u0027, \u0027t\\xe9st_o\u0027])"},{"line_number":1088,"context_line":""},{"line_number":1089,"context_line":"                mock_delete.assert_called_once_with(container\u003d\u0027t\\xe9st_c\u0027,"},{"line_number":1090,"context_line":"                                                    objects\u003d[\u0027t\\xe9st_o\u0027])"},{"line_number":1091,"context_line":"                self.assertTrue(out.out.find("},{"line_number":1092,"context_line":"                    \u0027t\\xe9st_o [after 2 attempts]\u0027) \u003e\u003d 0)"},{"line_number":1093,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_85af887c","line":1090,"updated":"2016-09-19 22:20:10.000000000","message":"Needs header plumbing.","commit_id":"e9307b196ce76c51cb286ffd0ce2c32ac090d5b0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"323ef72c582e5f1e78acf67122c23570dd993c3a","unresolved":false,"context_lines":[{"line_number":160,"context_line":"                             \u0027   Account: AUTH_account\\n\u0027"},{"line_number":161,"context_line":"                             \u0027Containers: 1\\n\u0027"},{"line_number":162,"context_line":"                             \u0027   Objects: 2\\n\u0027"},{"line_number":163,"context_line":"                             \u0027     Bytes: 3\\n\u0027)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @mock.patch(\u0027swiftclient.service.Connection\u0027)"},{"line_number":166,"context_line":"    def test_stat_container(self, connection):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_74aa2c87","line":163,"updated":"2016-11-04 21:39:33.000000000","message":"We never verify that the header comes through to the connection.","commit_id":"0bed5fb967a026adc5c35c954f124c198c11748c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"323ef72c582e5f1e78acf67122c23570dd993c3a","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                             \u0027 Read ACL: test2:tester2\\n\u0027"},{"line_number":213,"context_line":"                             \u0027Write ACL: test3:tester3\\n\u0027"},{"line_number":214,"context_line":"                             \u0027  Sync To: other\\n\u0027"},{"line_number":215,"context_line":"                             \u0027 Sync Key: secret\\n\u0027)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    @mock.patch(\u0027swiftclient.service.Connection\u0027)"},{"line_number":218,"context_line":"    def test_stat_object(self, connection):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_548c4835","line":215,"updated":"2016-11-04 21:39:33.000000000","message":"Ditto.","commit_id":"0bed5fb967a026adc5c35c954f124c198c11748c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"323ef72c582e5f1e78acf67122c23570dd993c3a","unresolved":false,"context_lines":[{"line_number":265,"context_line":"                             \u0027Content Length: 42\\n\u0027"},{"line_number":266,"context_line":"                             \u0027 Last Modified: yesterday\\n\u0027"},{"line_number":267,"context_line":"                             \u0027          ETag: md5\\n\u0027"},{"line_number":268,"context_line":"                             \u0027      Manifest: manifest\\n\u0027)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    @mock.patch(\u0027swiftclient.service.Connection\u0027)"},{"line_number":271,"context_line":"    def test_list_account(self, connection):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_9486e011","line":268,"updated":"2016-11-04 21:39:33.000000000","message":"Ditto.","commit_id":"0bed5fb967a026adc5c35c954f124c198c11748c"}]}
