)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"83994811149c2d0b17afe76b3610e276d288a08c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"cases the user redirects to stdout, thus this program cannot"},{"line_number":13,"context_line":"clean that up.  For the cases where the --file option is used"},{"line_number":14,"context_line":"a later abstraction for signal handling will clean up the"},{"line_number":15,"context_line":"partial files."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Fixes Bug: 1130390"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAM3%2F%2BtnI%3D","line":15,"updated":"2013-02-20 22:39:39.000000000","message":"old commit message ^","commit_id":"745b1ae18de020d62712e053833b88cbfa51b114"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"fb78d209a86bd962a3ea20e9c10e515dcb290c05","unresolved":false,"context_lines":[{"line_number":12,"context_line":"cases the user redirects to stdout, thus this program cannot"},{"line_number":13,"context_line":"clean that up.  For the cases where the --file option is used"},{"line_number":14,"context_line":"a later abstraction for signal handling will clean up the"},{"line_number":15,"context_line":"partial files."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Fixes Bug: 1130390"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAM3%2F%2BnCI%3D","line":15,"in_reply_to":"AAAAM3%2F%2BpFo%3D","updated":"2013-02-25 22:30:49.000000000","message":"I\u0027m confused about \"later abstraction.\" Are you talking about signal handling that may land in a future patch?","commit_id":"745b1ae18de020d62712e053833b88cbfa51b114"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"44a3a84155506e3104718b122c69ab2831134982","unresolved":false,"context_lines":[{"line_number":12,"context_line":"cases the user redirects to stdout, thus this program cannot"},{"line_number":13,"context_line":"clean that up.  For the cases where the --file option is used"},{"line_number":14,"context_line":"a later abstraction for signal handling will clean up the"},{"line_number":15,"context_line":"partial files."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Fixes Bug: 1130390"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAM3%2F%2BpFo%3D","line":15,"in_reply_to":"AAAAM3%2F%2BpfM%3D","updated":"2013-02-23 10:30:33.000000000","message":"Sorry, I must have misread something.","commit_id":"745b1ae18de020d62712e053833b88cbfa51b114"},{"author":{"_account_id":6493,"name":"John Bresnahan","email":"john@bresnahan.me","username":"jbresnah"},"change_message_id":"419d07bba13908ad52b747f5f707ffbc70f802cf","unresolved":false,"context_lines":[{"line_number":12,"context_line":"cases the user redirects to stdout, thus this program cannot"},{"line_number":13,"context_line":"clean that up.  For the cases where the --file option is used"},{"line_number":14,"context_line":"a later abstraction for signal handling will clean up the"},{"line_number":15,"context_line":"partial files."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Fixes Bug: 1130390"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAM3%2F%2BpfM%3D","line":15,"in_reply_to":"AAAAM3%2F%2BtnI%3D","updated":"2013-02-22 21:33:46.000000000","message":"I don\u0027t understand, this is not the same commit message.  I adjusted it to reflect the change in behavior.","commit_id":"745b1ae18de020d62712e053833b88cbfa51b114"}],"glanceclient/shell.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"cddf8b1c648ed4f5fe9512cb0b5c7df92923b0b2","unresolved":false,"context_lines":[{"line_number":392,"context_line":"            return 0"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        cleanup_fname \u003d None"},{"line_number":395,"context_line":"        if len(original_args) \u003e 0 and original_args[0] \u003d\u003d \"image-download\":"},{"line_number":396,"context_line":"            cleanup_fname \u003d args.file"},{"line_number":397,"context_line":"        signal.signal(signal.SIGINT,"},{"line_number":398,"context_line":"                      control_c_signal_wrapper(cleanup_fname))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BvSo%3D","line":395,"updated":"2013-02-20 07:42:48.000000000","message":"I\u0027d just use:\n\nif original_args and ....\n\nor\n\nif \"image-download\" in original_args (not that sure about this one)","commit_id":"ba2070eaa470300724e1c01aa2a50083b2d2d696"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"fb78d209a86bd962a3ea20e9c10e515dcb290c05","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def default_controlc_signal_handler(signal, frame):"},{"line_number":34,"context_line":"    LOG \u003d logging.getLogger(\u0027glanceclient\u0027)"},{"line_number":35,"context_line":"    LOG.warn(\u0027... terminating glance client\u0027)"},{"line_number":36,"context_line":"    sys.exit(1)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2BnCk%3D","line":35,"updated":"2013-02-25 22:30:49.000000000","message":"I\u0027m a bit hesitant about doing \"work\" in a signal handler, though I can\u0027t put a very fine point on why I would avoid it.","commit_id":"745b1ae18de020d62712e053833b88cbfa51b114"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"fb78d209a86bd962a3ea20e9c10e515dcb290c05","unresolved":false,"context_lines":[{"line_number":478,"context_line":"    try:"},{"line_number":479,"context_line":"        OpenStackImagesShell().main(map(utils.ensure_unicode, sys.argv[1:]))"},{"line_number":480,"context_line":"    except Exception, e:"},{"line_number":481,"context_line":"        print \u003e\u003e sys.stderr, e"},{"line_number":482,"context_line":"        sys.exit(1)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2BnCo%3D","line":481,"updated":"2013-02-25 22:30:49.000000000","message":"I find myself wondering if it would work to catch KeyboardInterrupt here.","commit_id":"745b1ae18de020d62712e053833b88cbfa51b114"},{"author":{"_account_id":6493,"name":"John Bresnahan","email":"john@bresnahan.me","username":"jbresnah"},"change_message_id":"0c661a7ee98f6b0a4ec3483bf12d6c038074cd99","unresolved":false,"context_lines":[{"line_number":478,"context_line":"    try:"},{"line_number":479,"context_line":"        OpenStackImagesShell().main(map(utils.ensure_unicode, sys.argv[1:]))"},{"line_number":480,"context_line":"    except Exception, e:"},{"line_number":481,"context_line":"        print \u003e\u003e sys.stderr, e"},{"line_number":482,"context_line":"        sys.exit(1)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Bk5A%3D","line":481,"in_reply_to":"AAAAM3%2F%2BnCo%3D","updated":"2013-02-26 22:40:05.000000000","message":"That is a fair point.  One thing going on here is that we are not cleaning up any partial data that is downloaded.  If the --file option is used we should probably do that, however in all other cases this would not be done.  The thinking in using a signal handler is that the commands deeper in the stack could over ride the signal handler.\n\nThat said, I am of the mindset that such a plan is a bit over-engineered and inclined to go with the KeyboardInterrupt exception as well.","commit_id":"745b1ae18de020d62712e053833b88cbfa51b114"}]}
