)]}'
{"os_cloud_config/cmd/register_nodes.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"17f118b80ec15bbcc72453841dfdc596098e624a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        with open(args.nodes, \u0027r\u0027) as node_file:"},{"line_number":51,"context_line":"            nodes_list \u003d simplejson.load(node_file)"},{"line_number":52,"context_line":"    except simplejson.scanner.JSONDecodeError as e:"},{"line_number":53,"context_line":"        print(\"Error parsing JSON file: %s\" % e.message)"},{"line_number":54,"context_line":"        return 1"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    nodes.check_service()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_88ac7f8e","line":53,"updated":"2014-06-09 03:59:50.000000000","message":"This is fairly ugly from a few angles:\n - its no longer structured so we can\u0027t test it as easily.\n - indeed, it has no tests.\n - there may be other errors, and we\u0027re going to end up with a whole bunch of LBYL tests here if this is the route we take to solve tracebacks-in-the-UI\n\nIf I may suggest an alternative approach:\n - have mail have a blanket try: except Exception: else: which on Exception consistently prints the string of the exception (and so we can change that to change the error shown to the user), and returns 1 from there; then return 0 from the else.","commit_id":"641dc6c64924cfb549b2b55a94079b05844df262"},{"author":{"_account_id":8907,"name":"Dmitry Shulyak","email":"dshulyak@mirantis.com","username":"dshulyak"},"change_message_id":"a558a15a55245b2f62bddd6c66866f2b0048d55e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        with open(args.nodes, \u0027r\u0027) as node_file:"},{"line_number":51,"context_line":"            nodes_list \u003d simplejson.load(node_file)"},{"line_number":52,"context_line":"    except simplejson.scanner.JSONDecodeError as e:"},{"line_number":53,"context_line":"        print(\"Error parsing JSON file: %s\" % e.message)"},{"line_number":54,"context_line":"        return 1"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    nodes.check_service()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5adbc538_8552b411","line":53,"updated":"2014-05-26 10:35:25.000000000","message":"logging ?","commit_id":"641dc6c64924cfb549b2b55a94079b05844df262"},{"author":{"_account_id":7585,"name":"Ladislav Smola","email":"lsmola@redhat.com","username":"lsmola"},"change_message_id":"06de672f55f6629f9bb99265bc5047e1e45d1cac","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        with open(args.nodes, \u0027r\u0027) as node_file:"},{"line_number":51,"context_line":"            nodes_list \u003d simplejson.load(node_file)"},{"line_number":52,"context_line":"    except simplejson.scanner.JSONDecodeError as e:"},{"line_number":53,"context_line":"        print(\"Error parsing JSON file: %s\" % e.message)"},{"line_number":54,"context_line":"        return 1"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    nodes.check_service()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_9221c84f","line":53,"in_reply_to":"5adbc538_8552b411","updated":"2014-05-29 12:23:44.000000000","message":"yes, I agree, there should be a LOG.error in this case","commit_id":"641dc6c64924cfb549b2b55a94079b05844df262"}]}
