)]}'
{"openstackclient/tests/functional/image/v1/test_image.py":[{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"831d218d07579ef4992966a96291079dc955cff9","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @classmethod"},{"line_number":36,"context_line":"    def tearDownClass(cls):"},{"line_number":37,"context_line":"        # Rename base"},{"line_number":38,"context_line":"        raw_output \u003d cls.openstack(\u0027image set --name \u0027 + cls.OTHER_NAME + \u0027 \u0027"},{"line_number":39,"context_line":"                                   + cls.NAME)"},{"line_number":40,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_bc1678ef","line":37,"range":{"start_line":37,"start_character":17,"end_line":37,"end_character":21},"updated":"2016-09-09 02:28:15.000000000","message":"this can be as-is.","commit_id":"3b78011e07acec6fc3b7971af8e3d518d2df2cab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"831d218d07579ef4992966a96291079dc955cff9","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        raw_output \u003d cls.openstack(\u0027image set --name \u0027 + cls.OTHER_NAME + \u0027 \u0027"},{"line_number":39,"context_line":"                                   + cls.NAME)"},{"line_number":40,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":41,"context_line":"        # Delete base"},{"line_number":42,"context_line":"        raw_output \u003d cls.openstack(\u0027image delete \u0027 + cls.OTHER_NAME)"},{"line_number":43,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_fcd64026","line":41,"range":{"start_line":41,"start_character":17,"end_line":41,"end_character":21},"updated":"2016-09-09 02:28:15.000000000","message":"ditto","commit_id":"3b78011e07acec6fc3b7971af8e3d518d2df2cab"}],"openstackclient/tests/functional/image/v2/test_image.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"6012f3ed55cd78db3029091326e63b3f5018c81c","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @classmethod"},{"line_number":36,"context_line":"    def tearDownClass(cls):"},{"line_number":37,"context_line":"        # Rename base"},{"line_number":38,"context_line":"        raw_output \u003d cls.openstack(\u0027image set --name \u0027 + cls.OTHER_NAME + \u0027 \u0027"},{"line_number":39,"context_line":"                                   + cls.NAME)"},{"line_number":40,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_13803c46","line":37,"updated":"2016-09-08 21:36:34.000000000","message":"This comment and similar ones throughout the patch are okay as-is.","commit_id":"47c9461638f73f655e9f96dd38a5f584aabea40c"}],"openstackclient/tests/functional/network/v2/test_security_group.py":[{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"831d218d07579ef4992966a96291079dc955cff9","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def tearDownClass(cls):"},{"line_number":34,"context_line":"        # Rename base"},{"line_number":35,"context_line":"        raw_output \u003d cls.openstack(\u0027security group set --name \u0027 +"},{"line_number":36,"context_line":"                                   cls.OTHER_NAME + \u0027 \u0027 + cls.NAME)"},{"line_number":37,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_bced98f1","line":34,"range":{"start_line":34,"start_character":17,"end_line":34,"end_character":21},"updated":"2016-09-09 02:28:15.000000000","message":"ditto","commit_id":"3b78011e07acec6fc3b7971af8e3d518d2df2cab"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"831d218d07579ef4992966a96291079dc955cff9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        raw_output \u003d cls.openstack(\u0027security group set --name \u0027 +"},{"line_number":36,"context_line":"                                   cls.OTHER_NAME + \u0027 \u0027 + cls.NAME)"},{"line_number":37,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":38,"context_line":"        # Delete base"},{"line_number":39,"context_line":"        raw_output \u003d cls.openstack(\u0027security group delete \u0027 + cls.OTHER_NAME)"},{"line_number":40,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_dcb89ceb","line":38,"range":{"start_line":38,"start_character":17,"end_line":38,"end_character":21},"updated":"2016-09-09 02:28:15.000000000","message":"ditto","commit_id":"3b78011e07acec6fc3b7971af8e3d518d2df2cab"}],"openstackclient/tests/functional/object/v1/test_object.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"59651a8e45b5e97ab467fc5e9546614d19c44344","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def test_object(self):"},{"line_number":30,"context_line":"        with tempfile.NamedTemporaryFile() as f:"},{"line_number":31,"context_line":"            f.write(\u0027base content\u0027)"},{"line_number":32,"context_line":"            f.flush()"},{"line_number":33,"context_line":"            self._test_object(f.name)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_b4f49187","line":31,"range":{"start_line":31,"start_character":12,"end_line":31,"end_character":35},"updated":"2016-09-06 05:40:08.000000000","message":"looks like i was a bit liberal with the search and replace :-)","commit_id":"5d16429b0109daf286a10bd7c5e814c0c958ba5d"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"831d218d07579ef4992966a96291079dc955cff9","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def test_object(self):"},{"line_number":30,"context_line":"        with tempfile.NamedTemporaryFile() as f:"},{"line_number":31,"context_line":"            f.write(\u0027base content\u0027)"},{"line_number":32,"context_line":"            f.flush()"},{"line_number":33,"context_line":"            self._test_object(f.name)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_9cc7f463","line":31,"range":{"start_line":31,"start_character":21,"end_line":31,"end_character":25},"updated":"2016-09-09 02:28:15.000000000","message":"ditto","commit_id":"3b78011e07acec6fc3b7971af8e3d518d2df2cab"}]}
