)]}'
{"glance/store/filesystem.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"66227a16b006a47b0547f9f711397e5e0d65c7e8","unresolved":false,"context_lines":[{"line_number":255,"context_line":"    def _delete_partial(filepath, id):"},{"line_number":256,"context_line":"        try:"},{"line_number":257,"context_line":"            os.unlink(filepath)"},{"line_number":258,"context_line":"        except Exception as e:"},{"line_number":259,"context_line":"            msg \u003d _(\u0027Unable to remove partial image data for image %s\u0027)"},{"line_number":260,"context_line":"            LOG.error(msg % id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FXRY%3D","line":258,"updated":"2013-01-25 14:05:03.000000000","message":"Perhaps, It\u0027d be worth it to log `e` message as well","commit_id":"370f4203102d6baa41d95239f1b4e658ae220d4d"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"a902a45a6e3f10efae53f74fdda031e77c8d9492","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            os.unlink(filepath)"},{"line_number":258,"context_line":"        except Exception as e:"},{"line_number":259,"context_line":"            msg \u003d _(\u0027Unable to remove partial image data for image %s: %s\u0027)"},{"line_number":260,"context_line":"            LOG.error(msg % (id, e))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FXDA%3D","line":260,"updated":"2013-01-25 16:59:49.000000000","message":"Hate to nitpick but you can just do LOG.exception(msg % id) and the exception information will automatically be logged, including the traceback.","commit_id":"e2b3200e2640b8d8255e974b276a9c454ebdba96"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"59b8cac90b2a411b05f09af856def7dcf490fc5e","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            os.unlink(filepath)"},{"line_number":258,"context_line":"        except Exception as e:"},{"line_number":259,"context_line":"            msg \u003d _(\u0027Unable to remove partial image data for image %s: %s\u0027)"},{"line_number":260,"context_line":"            LOG.error(msg % (id, e))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FXBk%3D","line":260,"in_reply_to":"AAAAM3%2F%2FXDA%3D","updated":"2013-01-25 17:12:27.000000000","message":"I wonder what traceback will it log since _delete_partial is being call from within an exception","commit_id":"e2b3200e2640b8d8255e974b276a9c454ebdba96"}],"glance/tests/unit/test_filesystem_store.py":[{"author":{"_account_id":6493,"name":"John Bresnahan","email":"john@bresnahan.me","username":"jbresnah"},"change_message_id":"a957fe6302d5b2e3dc0ee1f783c0c7843b9a5ad9","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        file_size \u003d 1024 * 5  # 5K"},{"line_number":200,"context_line":"        file_contents \u003d \"*\" * file_size"},{"line_number":201,"context_line":"        path \u003d os.path.join(self.test_dir, image_id)"},{"line_number":202,"context_line":"        location \u003d \"file://%s/%s\" % (self.test_dir, image_id)"},{"line_number":203,"context_line":"        image_file \u003d StringIO.StringIO(file_contents)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        def fake_Error(size):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FXCQ%3D","line":202,"updated":"2013-01-25 17:07:05.000000000","message":"It seems that the variable \u0027location\u0027 is set but never used.","commit_id":"e2b3200e2640b8d8255e974b276a9c454ebdba96"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"111c89bd9e16935713ed96bdbe024a6898432105","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import __builtin__"},{"line_number":21,"context_line":"import errno"},{"line_number":22,"context_line":"import hashlib"},{"line_number":23,"context_line":"import mox"},{"line_number":24,"context_line":"import os"},{"line_number":25,"context_line":"import StringIO"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FTmI%3D","line":23,"updated":"2013-01-29 17:05:38.000000000","message":"mox isn\u0027t a builtin - it belongs in the second of three import blocks.","commit_id":"9735d9a385ffa143ebd1afa1b446e74d56d938d8"}]}
