)]}'
{"glance/api/v1/images.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"f32214e9833778cccce3ba3a00f71cad95b13d54","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        if location:"},{"line_number":488,"context_line":"            try:"},{"line_number":489,"context_line":"                store \u003d get_store_from_location(location)"},{"line_number":490,"context_line":"            except exception.BadStoreUri:"},{"line_number":491,"context_line":"                msg \u003d _(\"Invalid location %s\") % location"},{"line_number":492,"context_line":"                LOG.debug(msg)"},{"line_number":493,"context_line":"                raise HTTPBadRequest(explanation\u003dmsg,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9qYM%3D","line":490,"updated":"2013-12-09 05:42:31.000000000","message":"We\u0027d better also catch exception.UnknownScheme since a malformed location uri can has a wrong schema.\n\nhttps://github.com/openstack/glance/blob/master/glance/store/location.py#L73\n\nI know below get_store_or_400() can do this checking but seems it\u0027s too late.","commit_id":"88ac35f3456f126280ca86dfd8a1f2fda52859f6"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"06ea5a1f738320693794becd6e4597f031127ff5","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        if location:"},{"line_number":488,"context_line":"            try:"},{"line_number":489,"context_line":"                store \u003d get_store_from_location(location)"},{"line_number":490,"context_line":"            except exception.BadStoreUri:"},{"line_number":491,"context_line":"                msg \u003d _(\"Invalid location %s\") % location"},{"line_number":492,"context_line":"                LOG.debug(msg)"},{"line_number":493,"context_line":"                raise HTTPBadRequest(explanation\u003dmsg,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9bwM%3D","line":490,"in_reply_to":"AAAATn%2F9km4%3D","updated":"2013-12-11 15:16:43.000000000","message":"Yes, you are right Yanis, I\u0027m wrong sorry.","commit_id":"88ac35f3456f126280ca86dfd8a1f2fda52859f6"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"5d9dd1aa43523b3bd86eff737d9cb4334d580880","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        if location:"},{"line_number":488,"context_line":"            try:"},{"line_number":489,"context_line":"                store \u003d get_store_from_location(location)"},{"line_number":490,"context_line":"            except exception.BadStoreUri:"},{"line_number":491,"context_line":"                msg \u003d _(\"Invalid location %s\") % location"},{"line_number":492,"context_line":"                LOG.debug(msg)"},{"line_number":493,"context_line":"                raise HTTPBadRequest(explanation\u003dmsg,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9km4%3D","line":490,"in_reply_to":"AAAATn%2F9ogY%3D","updated":"2013-12-10 04:05:59.000000000","message":"tbh i see they differently, you can\u0027t assume end user always pass in a correct url which has a known scheme prefix right? if scheme is wrong, the HTTPBadRequest exception raising will not be triggered, which just is what you want to resolve in this change.","commit_id":"88ac35f3456f126280ca86dfd8a1f2fda52859f6"},{"author":{"_account_id":9410,"name":"Yanis Guenane","email":"yguenane@redhat.com","username":"yguenane"},"change_message_id":"2f5b18ef43fda1f6c184052c336b867a53fd2d5f","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        if location:"},{"line_number":488,"context_line":"            try:"},{"line_number":489,"context_line":"                store \u003d get_store_from_location(location)"},{"line_number":490,"context_line":"            except exception.BadStoreUri:"},{"line_number":491,"context_line":"                msg \u003d _(\"Invalid location %s\") % location"},{"line_number":492,"context_line":"                LOG.debug(msg)"},{"line_number":493,"context_line":"                raise HTTPBadRequest(explanation\u003dmsg,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9ogY%3D","line":490,"in_reply_to":"AAAATn%2F9qYM%3D","updated":"2013-12-09 14:12:00.000000000","message":"There is already a patch in review to catch the UnknownScheme error https://review.openstack.org/#/c/60333/, to me this issue was really related to the URI rather than the scheme itself thus the use of BadStoreUri","commit_id":"88ac35f3456f126280ca86dfd8a1f2fda52859f6"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"f32214e9833778cccce3ba3a00f71cad95b13d54","unresolved":false,"context_lines":[{"line_number":843,"context_line":"            try:"},{"line_number":844,"context_line":"                self.update_store_acls(req, id, orig_or_updated_loc,"},{"line_number":845,"context_line":"                                       public\u003dis_public)"},{"line_number":846,"context_line":"            except exception.BadStoreUri:"},{"line_number":847,"context_line":"                msg \u003d _(\"Invalid location %s\") % location"},{"line_number":848,"context_line":"                LOG.debug(msg)"},{"line_number":849,"context_line":"                raise HTTPBadRequest(explanation\u003dmsg,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9qXk%3D","line":846,"updated":"2013-12-09 05:42:31.000000000","message":"ditto","commit_id":"88ac35f3456f126280ca86dfd8a1f2fda52859f6"}],"glance/tests/unit/v1/test_api.py":[{"author":{"_account_id":9520,"name":"David Koo (koofoss)","email":"david.koo@huawei.com","username":"koofoss"},"change_message_id":"ccc45ddd319fe38ea4e2eb6a1c496e1474755a4a","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            \u0027x-image-meta-container-format\u0027: \u0027bare\u0027,"},{"line_number":273,"context_line":"        }"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        req \u003d webob.Request.blank(\"/images\")"},{"line_number":276,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":277,"context_line":"        for k, v in fixture_headers.iteritems():"},{"line_number":278,"context_line":"            req.headers[k] \u003d v"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9kEM%3D","line":275,"updated":"2013-12-10 07:38:21.000000000","message":"Why not:\n\nwebob.Request.blank(\"/images\", method\u003d\u0027POST\u0027, headers\u003dfixture_headers)\n\nSimilarly for other places below","commit_id":"88ac35f3456f126280ca86dfd8a1f2fda52859f6"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"2d47fb9d02e017aa98a4b19d5079d4c2d265aa85","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            \u0027x-image-meta-container-format\u0027: \u0027bare\u0027,"},{"line_number":273,"context_line":"        }"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        req \u003d webob.Request.blank(\"/images\")"},{"line_number":276,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":277,"context_line":"        for k, v in fixture_headers.iteritems():"},{"line_number":278,"context_line":"            req.headers[k] \u003d v"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9aKo%3D","line":275,"in_reply_to":"AAAATn%2F9aPY%3D","updated":"2013-12-11 20:33:07.000000000","message":"Yeah, as we tasked Yanis can help create a defect, and in that change, all the test case code will be fix by this approach. thanks.","commit_id":"88ac35f3456f126280ca86dfd8a1f2fda52859f6"},{"author":{"_account_id":9410,"name":"Yanis Guenane","email":"yguenane@redhat.com","username":"yguenane"},"change_message_id":"4a2f45538b623f3d691135414f92480aad7ca091","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            \u0027x-image-meta-container-format\u0027: \u0027bare\u0027,"},{"line_number":273,"context_line":"        }"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        req \u003d webob.Request.blank(\"/images\")"},{"line_number":276,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":277,"context_line":"        for k, v in fixture_headers.iteritems():"},{"line_number":278,"context_line":"            req.headers[k] \u003d v"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9aPY%3D","line":275,"in_reply_to":"AAAATn%2F9aW4%3D","updated":"2013-12-11 20:14:02.000000000","message":"As talked earlier in IRC with Zhi Yan Liu, a patch will follow that will migrate all the test files to the syntax koofoss mentioned. We keep them as separate logical patch.","commit_id":"88ac35f3456f126280ca86dfd8a1f2fda52859f6"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"d178ba6f499479f8c2acc66bae06921d6e84a658","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            \u0027x-image-meta-container-format\u0027: \u0027bare\u0027,"},{"line_number":273,"context_line":"        }"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        req \u003d webob.Request.blank(\"/images\")"},{"line_number":276,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":277,"context_line":"        for k, v in fixture_headers.iteritems():"},{"line_number":278,"context_line":"            req.headers[k] \u003d v"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9aW4%3D","line":275,"in_reply_to":"AAAATn%2F9kEM%3D","updated":"2013-12-11 20:06:02.000000000","message":"Good question, unfortunately this is done in this way throughout this file.","commit_id":"88ac35f3456f126280ca86dfd8a1f2fda52859f6"}]}
