)]}'
{"glance/api/v1/images.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"29574f0348cf0c6e5a01e8324facfd7a9b0cac2a","unresolved":false,"context_lines":[{"line_number":821,"context_line":"                                request\u003dreq,"},{"line_number":822,"context_line":"                                content_type\u003d\"text/plain\")"},{"line_number":823,"context_line":""},{"line_number":824,"context_line":"        # Return 403 Forbidden error on deleting a deleted image."},{"line_number":825,"context_line":"        # Fix for LP Bug #1060944"},{"line_number":826,"context_line":"        if image[\u0027status\u0027] \u003d\u003d \u0027deleted\u0027:"},{"line_number":827,"context_line":"            msg \u003d _(\"Forbidden to delete a deleted image.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F%2Bk4%3D","line":824,"updated":"2012-10-23 18:33:10.000000000","message":"This specific comment isn\u0027t really necessary. You\u0027ve completely codified it below.","commit_id":"fb2ce662dbd10bfa1e8fc4fc3a811f6c1311a599"},{"author":{"_account_id":1633,"name":"unmesh-gurjar","email":"unmesh.gurjar@hp.com","username":"unmesh-gurjar"},"change_message_id":"84157dfc3711fa8e92a5f7aa696e3e5d03844cc2","unresolved":false,"context_lines":[{"line_number":821,"context_line":"                                request\u003dreq,"},{"line_number":822,"context_line":"                                content_type\u003d\"text/plain\")"},{"line_number":823,"context_line":""},{"line_number":824,"context_line":"        # Return 403 Forbidden error on deleting a deleted image."},{"line_number":825,"context_line":"        # Fix for LP Bug #1060944"},{"line_number":826,"context_line":"        if image[\u0027status\u0027] \u003d\u003d \u0027deleted\u0027:"},{"line_number":827,"context_line":"            msg \u003d _(\"Forbidden to delete a deleted image.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F8ow%3D","line":824,"in_reply_to":"AAAALn%2F%2F%2Bk4%3D","updated":"2012-10-25 13:39:49.000000000","message":"Done","commit_id":"fb2ce662dbd10bfa1e8fc4fc3a811f6c1311a599"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"8270b1b6c4f0a3fc63d5362bd3697d171db466c7","unresolved":false,"context_lines":[{"line_number":821,"context_line":"                                request\u003dreq,"},{"line_number":822,"context_line":"                                content_type\u003d\"text/plain\")"},{"line_number":823,"context_line":""},{"line_number":824,"context_line":"        # Fix for LP Bug #1060944"},{"line_number":825,"context_line":"        if image[\u0027status\u0027] \u003d\u003d \u0027deleted\u0027:"},{"line_number":826,"context_line":"            msg \u003d _(\"Forbidden to delete a deleted image.\")"},{"line_number":827,"context_line":"            LOG.debug(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALn%2F%2F8ms%3D","line":824,"updated":"2012-10-25 14:49:00.000000000","message":"no need for this line","commit_id":"0cae682d1495337d7473fb527a77f953cadb3ff6"},{"author":{"_account_id":1633,"name":"unmesh-gurjar","email":"unmesh.gurjar@hp.com","username":"unmesh-gurjar"},"change_message_id":"ded6ec383e1905941260888f10b194fad60ed7c6","unresolved":false,"context_lines":[{"line_number":821,"context_line":"                                request\u003dreq,"},{"line_number":822,"context_line":"                                content_type\u003d\"text/plain\")"},{"line_number":823,"context_line":""},{"line_number":824,"context_line":"        # Fix for LP Bug #1060944"},{"line_number":825,"context_line":"        if image[\u0027status\u0027] \u003d\u003d \u0027deleted\u0027:"},{"line_number":826,"context_line":"            msg \u003d _(\"Forbidden to delete a deleted image.\")"},{"line_number":827,"context_line":"            LOG.debug(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALn%2F%2F7xo%3D","line":824,"in_reply_to":"AAAALn%2F%2F8ms%3D","updated":"2012-10-26 11:22:55.000000000","message":"Done","commit_id":"0cae682d1495337d7473fb527a77f953cadb3ff6"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"8270b1b6c4f0a3fc63d5362bd3697d171db466c7","unresolved":false,"context_lines":[{"line_number":826,"context_line":"            msg \u003d _(\"Forbidden to delete a deleted image.\")"},{"line_number":827,"context_line":"            LOG.debug(msg)"},{"line_number":828,"context_line":"            raise HTTPForbidden(explanation\u003dmsg,"},{"line_number":829,"context_line":"                                request\u003dreq,"},{"line_number":830,"context_line":"                                content_type\u003d\"text/plain\")"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"        status \u003d \u0027deleted\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALn%2F%2F8mk%3D","line":829,"updated":"2012-10-25 14:49:00.000000000","message":"could you move this one to the above line, and make it\n\u0027        raise HTTPForbidden(explanation\u003dmsg, request\u003dreq,\u0027","commit_id":"0cae682d1495337d7473fb527a77f953cadb3ff6"},{"author":{"_account_id":1633,"name":"unmesh-gurjar","email":"unmesh.gurjar@hp.com","username":"unmesh-gurjar"},"change_message_id":"ded6ec383e1905941260888f10b194fad60ed7c6","unresolved":false,"context_lines":[{"line_number":826,"context_line":"            msg \u003d _(\"Forbidden to delete a deleted image.\")"},{"line_number":827,"context_line":"            LOG.debug(msg)"},{"line_number":828,"context_line":"            raise HTTPForbidden(explanation\u003dmsg,"},{"line_number":829,"context_line":"                                request\u003dreq,"},{"line_number":830,"context_line":"                                content_type\u003d\"text/plain\")"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"        status \u003d \u0027deleted\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALn%2F%2F7xk%3D","line":829,"in_reply_to":"AAAALn%2F%2F8mk%3D","updated":"2012-10-26 11:22:55.000000000","message":"Done","commit_id":"0cae682d1495337d7473fb527a77f953cadb3ff6"}],"glance/api/v2/images.py":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"aef50a7d9fbb73e9b9057abeb299c9857c0bb3d0","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        if image[\u0027status\u0027] \u003d\u003d \u0027deleted\u0027:"},{"line_number":267,"context_line":"            msg \u003d _(\"Forbidden to delete a deleted image.\")"},{"line_number":268,"context_line":"            LOG.debug(msg)"},{"line_number":269,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003dmsg, request\u003dreq,"},{"line_number":270,"context_line":"                                          content_type\u003d\"text/plain\")"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if image[\u0027protected\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALn%2F%2F7PE%3D","line":269,"updated":"2012-10-26 19:05:04.000000000","message":"I think this should be HTTPNotFound.","commit_id":"d25f9a2e9f27437872c37436025ab8d65fa16d80"},{"author":{"_account_id":1633,"name":"unmesh-gurjar","email":"unmesh.gurjar@hp.com","username":"unmesh-gurjar"},"change_message_id":"7a6099c33d5e045851f239140b519ea1a3ef3735","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        if image[\u0027status\u0027] \u003d\u003d \u0027deleted\u0027:"},{"line_number":267,"context_line":"            msg \u003d _(\"Forbidden to delete a deleted image.\")"},{"line_number":268,"context_line":"            LOG.debug(msg)"},{"line_number":269,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003dmsg, request\u003dreq,"},{"line_number":270,"context_line":"                                          content_type\u003d\"text/plain\")"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if image[\u0027protected\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALn%2F%2F6RU%3D","line":269,"in_reply_to":"AAAALn%2F%2F7DY%3D","updated":"2012-10-29 10:45:27.000000000","message":"Since, Mark has a separate review for v2, I will undo my v2 specific fixes in this change.","commit_id":"d25f9a2e9f27437872c37436025ab8d65fa16d80"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"344ea8cd43d9b79a72b6af3ec8963f3c6e6ce7f3","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        if image[\u0027status\u0027] \u003d\u003d \u0027deleted\u0027:"},{"line_number":267,"context_line":"            msg \u003d _(\"Forbidden to delete a deleted image.\")"},{"line_number":268,"context_line":"            LOG.debug(msg)"},{"line_number":269,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003dmsg, request\u003dreq,"},{"line_number":270,"context_line":"                                          content_type\u003d\"text/plain\")"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if image[\u0027protected\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALn%2F%2F7DY%3D","line":269,"in_reply_to":"AAAALn%2F%2F7PE%3D","updated":"2012-10-26 21:28:16.000000000","message":"that\u0027s a good point Mark!","commit_id":"d25f9a2e9f27437872c37436025ab8d65fa16d80"}],"glance/tests/unit/v1/test_api.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"29574f0348cf0c6e5a01e8324facfd7a9b0cac2a","unresolved":false,"context_lines":[{"line_number":2359,"context_line":"        self.assertEquals(res.status_int, webob.exc.HTTPForbidden.code)"},{"line_number":2360,"context_line":"        self.assertTrue(\u0027Forbidden to update deleted image\u0027 in res.body)"},{"line_number":2361,"context_line":""},{"line_number":2362,"context_line":"    def test_delete_deleted_image(self):"},{"line_number":2363,"context_line":"        \"\"\"Tests that exception raised trying to delete a deleted image\"\"\""},{"line_number":2364,"context_line":"        req \u003d webob.Request.blank(\"/images/%s\" % UUID2)"},{"line_number":2365,"context_line":"        req.method \u003d \u0027DELETE\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F%2Bko%3D","line":2362,"updated":"2012-10-23 18:33:10.000000000","message":"Is there test coverage for making this action as an admin and a non-admin?","commit_id":"fb2ce662dbd10bfa1e8fc4fc3a811f6c1311a599"},{"author":{"_account_id":1633,"name":"unmesh-gurjar","email":"unmesh.gurjar@hp.com","username":"unmesh-gurjar"},"change_message_id":"84157dfc3711fa8e92a5f7aa696e3e5d03844cc2","unresolved":false,"context_lines":[{"line_number":2359,"context_line":"        self.assertEquals(res.status_int, webob.exc.HTTPForbidden.code)"},{"line_number":2360,"context_line":"        self.assertTrue(\u0027Forbidden to update deleted image\u0027 in res.body)"},{"line_number":2361,"context_line":""},{"line_number":2362,"context_line":"    def test_delete_deleted_image(self):"},{"line_number":2363,"context_line":"        \"\"\"Tests that exception raised trying to delete a deleted image\"\"\""},{"line_number":2364,"context_line":"        req \u003d webob.Request.blank(\"/images/%s\" % UUID2)"},{"line_number":2365,"context_line":"        req.method \u003d \u0027DELETE\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F8oo%3D","line":2362,"in_reply_to":"AAAALn%2F%2F%2Bko%3D","updated":"2012-10-25 13:39:49.000000000","message":"Such unit test coverage isn\u0027t there, because the Glance Registry response (Glance API call get_image_meta_or_404) determines whether an image is visible to a user.\n\nIn order to cover user specific scenarios, I am adding a test case test_show_deleted_image in Glance Registry unit tests (in next patch set).","commit_id":"fb2ce662dbd10bfa1e8fc4fc3a811f6c1311a599"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"6fa46e5a431ba239f12f26d537cde419fd9f8600","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        res \u003d req.get_response(self.api)"},{"line_number":199,"context_line":"        self.assertEquals(res.status_int, 404)"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    def test_show_deleted_image(self):"},{"line_number":202,"context_line":"        # Delete image #2"},{"line_number":203,"context_line":"        req \u003d webob.Request.blank(\u0027/images/%s\u0027 % UUID2)"},{"line_number":204,"context_line":"        req.method \u003d \u0027DELETE\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALn%2F%2F6Ds%3D","line":201,"updated":"2012-10-29 15:58:49.000000000","message":"I hate to nitpick but this should be two different tests","commit_id":"20e27d16143557f0acf421b585821cb55d46bd2b"},{"author":{"_account_id":1633,"name":"unmesh-gurjar","email":"unmesh.gurjar@hp.com","username":"unmesh-gurjar"},"change_message_id":"89621ef7a416d34d4eac6faf81a36df36e674683","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        res \u003d req.get_response(self.api)"},{"line_number":199,"context_line":"        self.assertEquals(res.status_int, 404)"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    def test_show_deleted_image(self):"},{"line_number":202,"context_line":"        # Delete image #2"},{"line_number":203,"context_line":"        req \u003d webob.Request.blank(\u0027/images/%s\u0027 % UUID2)"},{"line_number":204,"context_line":"        req.method \u003d \u0027DELETE\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALn%2F%2F5SU%3D","line":201,"in_reply_to":"AAAALn%2F%2F6Ds%3D","updated":"2012-10-30 07:33:32.000000000","message":"Done","commit_id":"20e27d16143557f0acf421b585821cb55d46bd2b"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"8bbf8af6b5ae83d120c2666e0d8ef8a4fc780b09","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        res \u003d req.get_response(self.api)"},{"line_number":199,"context_line":"        self.assertEquals(res.status_int, 404)"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    def test_show_deleted_image(self):"},{"line_number":202,"context_line":"        # Delete image #2"},{"line_number":203,"context_line":"        req \u003d webob.Request.blank(\u0027/images/%s\u0027 % UUID2)"},{"line_number":204,"context_line":"        req.method \u003d \u0027DELETE\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALn%2F%2F57s%3D","line":201,"in_reply_to":"AAAALn%2F%2F6Ds%3D","updated":"2012-10-29 17:20:39.000000000","message":"I think you are right Alex and certainly not a nitpick.","commit_id":"20e27d16143557f0acf421b585821cb55d46bd2b"}]}
