)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"4b2b9f48e6ffa73131893bdc47fa30a54118daea","unresolved":false,"context_lines":[{"line_number":11,"context_line":"using the temp url in object_client.py"},{"line_number":12,"context_line":"New patch submitted with required modifications as build failed"},{"line_number":13,"context_line":"due to import error"},{"line_number":14,"context_line":"Patch3 \u0026 4 submitted with changes according to the reviewer"},{"line_number":15,"context_line":"comments"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I929ffabf8a1344f21c8acc492f8c4e31966556fd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAM3%2F%2FpMg%3D","line":14,"updated":"2013-01-11 10:30:16.000000000","message":"Commit message should not contains references to the review comments.\nIt should describe the change alone.","commit_id":"ac60d7cf75e3c80a58d7546bfa8f2522c53aae68"}],"tempest/services/object_storage/object_client.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5c0b0577f21f47d772a2acd6a9bd63b41d90d912","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        sig \u003d hmac.new(key, hmac_body, sha1).hexdigest()"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        url \u003d \"%s/%s?temp_url_sig\u003d%s\u0026temp_url_expires\u003d%s\" \\"},{"line_number":138,"context_line":"              % (str(container), str(object_name), str(sig), str(expires))"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":141,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2Fqz8%3D","line":138,"updated":"2013-01-10 05:28:46.000000000","message":"FYI, these str() wrappers are not necessary, since the %s will call each object\u0027s __str__ method during interpolation...","commit_id":"fdf87bf389e499a782a369e00abcc2959e255385"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"be559603a0469d95f304f1ab8332dea215c01ed9","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        self._set_auth()"},{"line_number":130,"context_line":"        method \u003d \u0027GET\u0027"},{"line_number":131,"context_line":"        path \u003d \\"},{"line_number":132,"context_line":"            \"%s/%s/%s\" % (urlparse(self.base_url).path, container,"},{"line_number":133,"context_line":"                          object_name)"},{"line_number":134,"context_line":"        hmac_body \u003d \u0027%s\\n%s\\n%s\u0027 % (method, expires, path)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FkD8%3D","line":131,"updated":"2013-01-15 21:15:56.000000000","message":"can we used (  .... ) instead of \\ for line wrapping?","commit_id":"ac60d7cf75e3c80a58d7546bfa8f2522c53aae68"}],"tempest/tests/object_storage/test_object_services.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5c0b0577f21f47d772a2acd6a9bd63b41d90d912","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                          self.container_name, object_name)"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    @unittest.skip(\u0027Until bug 1097137 is resolved.\u0027)"},{"line_number":373,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":374,"context_line":"    def test_get_object_using_temp_url(self):"},{"line_number":375,"context_line":"        #Access object using temp url within expiry time"},{"line_number":376,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2Fqzw%3D","line":373,"updated":"2013-01-10 05:28:46.000000000","message":"Is this really a smoke test? :) I think it can be a regular test...","commit_id":"fdf87bf389e499a782a369e00abcc2959e255385"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5c0b0577f21f47d772a2acd6a9bd63b41d90d912","unresolved":false,"context_lines":[{"line_number":398,"context_line":"                self.object_client.get_object_using_temp_url("},{"line_number":399,"context_line":"                    self.container_name, object_name, expires, key)"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"            self.assertEqual(resp.status, 200)"},{"line_number":402,"context_line":"            self.assertEqual(body, data)"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2Fqzs%3D","line":401,"updated":"2013-01-10 05:28:46.000000000","message":"It\u0027s really confusing how the variables \"resp\" and \"resp_meta\" are used above in different ways... in line 382, resp_meta seems to be a dict of metadata values. On line 386, there is a resp AND a metadata variable, but it is the resp variable that is accessed like a dictionary (and the metadata variable is never used). On line 394, the resp variable is not used it seems. On line 397, the resp variable seems to be a webob.Response object and is accessed as an object not a dict...\n\nIs it possible to make the above a bit clearer from a variable naming and usage perspective?","commit_id":"fdf87bf389e499a782a369e00abcc2959e255385"}]}
