)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6493,"name":"John Bresnahan","email":"john@bresnahan.me","username":"jbresnah"},"change_message_id":"15d55de6266e34243c07a5d33feef68cd712ea57","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add unittests for image upload functionality in v1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds unittests for the code that handles uploading image data to the"},{"line_number":10,"context_line":"image store in v1 of the api. upload_utils.py was created in order to make this"},{"line_number":11,"context_line":"area of code more testable and move upload logic out of the images api"},{"line_number":12,"context_line":"controller."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAPH%2F%2F9c8%3D","line":9,"updated":"2013-05-17 18:34:48.000000000","message":"Should it be s/unittest/unit tests ? (sorry, I know that is a bit overly nit picky).","commit_id":"58b81aee8a7994be40eb7294a3abbf7dc5ad8271"}],"glance/api/v1/upload_utils.py":[{"author":{"_account_id":6493,"name":"John Bresnahan","email":"john@bresnahan.me","username":"jbresnah"},"change_message_id":"15d55de6266e34243c07a5d33feef68cd712ea57","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    :param location: URL to the image data in a data store"},{"line_number":48,"context_line":"    :param image_id: Opaque image identifier"},{"line_number":49,"context_line":"    \"\"\""},{"line_number":50,"context_line":"    if CONF.delayed_delete:"},{"line_number":51,"context_line":"        glance.store.schedule_delayed_delete_from_backend(location, id)"},{"line_number":52,"context_line":"    else:"},{"line_number":53,"context_line":"        glance.store.safe_delete_from_backend(location, req.context, id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2F9fY%3D","line":50,"updated":"2013-05-17 18:34:48.000000000","message":"Do you think we could change this to a parameter that is passed in?  I would like to rein in the widespread global use of CONF where possible.","commit_id":"58b81aee8a7994be40eb7294a3abbf7dc5ad8271"},{"author":{"_account_id":6493,"name":"John Bresnahan","email":"john@bresnahan.me","username":"jbresnah"},"change_message_id":"15d55de6266e34243c07a5d33feef68cd712ea57","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    \"\"\""},{"line_number":77,"context_line":"    try:"},{"line_number":78,"context_line":"        _kill(req, image_id)"},{"line_number":79,"context_line":"    except Exception as e:"},{"line_number":80,"context_line":"        LOG.error(_(\"Unable to kill image %(id)s: \""},{"line_number":81,"context_line":"                    \"%(exc)s\") % ({\u0027id\u0027: image_id,"},{"line_number":82,"context_line":"                                   \u0027exc\u0027: repr(e)}))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2F9iE%3D","line":79,"updated":"2013-05-17 18:34:48.000000000","message":"I think log.exception() would be good here.  I know this is just being moved from the other file but it might be as good a time as any to make that change.","commit_id":"58b81aee8a7994be40eb7294a3abbf7dc5ad8271"},{"author":{"_account_id":6493,"name":"John Bresnahan","email":"john@bresnahan.me","username":"jbresnah"},"change_message_id":"15d55de6266e34243c07a5d33feef68cd712ea57","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    except exception.ImageSizeLimitExceeded as e:"},{"line_number":159,"context_line":"        msg \u003d _(\"Denying attempt to upload image larger than %d bytes.\""},{"line_number":160,"context_line":"                % CONF.image_size_cap)"},{"line_number":161,"context_line":"        LOG.info(msg)"},{"line_number":162,"context_line":"        safe_kill(req, image_id)"},{"line_number":163,"context_line":"        raise HTTPRequestEntityTooLarge(explanation\u003dmsg, request\u003dreq,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2F9fk%3D","line":160,"updated":"2013-05-17 18:34:48.000000000","message":"I would greatly prefer to see the error message details (size limit) pulled from the exception.  I can imagine cases of mismatch.  However I see that this information is not available so I wont let this hold anything up.","commit_id":"58b81aee8a7994be40eb7294a3abbf7dc5ad8271"},{"author":{"_account_id":6493,"name":"John Bresnahan","email":"john@bresnahan.me","username":"jbresnah"},"change_message_id":"15d55de6266e34243c07a5d33feef68cd712ea57","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        #NOTE(bcwaldon): Ideally, we would just call \u0027raise\u0027 here,"},{"line_number":169,"context_line":"        # but something in the above function calls is affecting the"},{"line_number":170,"context_line":"        # exception context and we must explicitly re-raise the"},{"line_number":171,"context_line":"        # caught exception."},{"line_number":172,"context_line":"        raise e"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    except Exception as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2F9hk%3D","line":171,"updated":"2013-05-17 18:34:48.000000000","message":"Perhaps we should log the exception here as well so as to not lose its state in the re-raise?","commit_id":"58b81aee8a7994be40eb7294a3abbf7dc5ad8271"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"51c84343c42402dad909079b887ba0a325c72173","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo.config import cfg"},{"line_number":19,"context_line":"from webob.exc import (HTTPError,"},{"line_number":20,"context_line":"                       HTTPNotFound,"},{"line_number":21,"context_line":"                       HTTPConflict,"},{"line_number":22,"context_line":"                       HTTPBadRequest,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPH%2F%2Fzzg%3D","line":19,"updated":"2013-05-22 15:33:58.000000000","message":"I think it is cleaner to import exc and use that instead of importing exception classes","commit_id":"c6f067149a5d02889d98d28c5e88bc4984a1fb28"}]}
