)]}'
{"neutron/agent/linux/utils.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"a62d3955623f1e3e19d2a2d9166b7ef471bb1caa","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            command_str[\u0027stdin\u0027] \u003d process_input or \u0027\u0027"},{"line_number":147,"context_line":"            command_str[\u0027stdout\u0027] \u003d _stdout"},{"line_number":148,"context_line":"            command_str[\u0027stderr\u0027] \u003d _stderr"},{"line_number":149,"context_line":"            m +\u003d _(\"Stdin: %(stdin)s\\n\""},{"line_number":150,"context_line":"                  \"Stdout: %(stdout)s\\n\""},{"line_number":151,"context_line":"                  \"Stderr: %(stderr)s\") % command_str"},{"line_number":152,"context_line":"            log_msg \u003d m.strip().replace(\u0027\\n\u0027, \u0027; \u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_d911355f","line":149,"updated":"2015-11-08 15:26:01.000000000","message":"unrelated but can we fix the indentation here","commit_id":"b572376f3f5f4d7d36d46126ea14d48925ae09ef"},{"author":{"_account_id":9459,"name":".Haifeng Yan","email":"yanheven@qq.com","username":"yan"},"change_message_id":"47893f62d04abec19064fab487b31825e3ec6c1d","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            m +\u003d _(\"Stdin: %(stdin)s\\n\""},{"line_number":150,"context_line":"                  \"Stdout: %(stdout)s\\n\""},{"line_number":151,"context_line":"                  \"Stderr: %(stderr)s\") % command_str"},{"line_number":152,"context_line":"            log_msg \u003d m.strip().replace(\u0027\\n\u0027, \u0027; \u0027)"},{"line_number":153,"context_line":"            LOG.error(log_msg)"},{"line_number":154,"context_line":"        else:"},{"line_number":155,"context_line":"            log_msg \u003d m.strip().replace(\u0027\\n\u0027, \u0027; \u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_4e4b395a","line":152,"updated":"2015-11-08 12:38:54.000000000","message":"how about use \u0027;\u0027 in three lines above instead of \"\\n\", directly.","commit_id":"b572376f3f5f4d7d36d46126ea14d48925ae09ef"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"996f4e6b0cef159cf744318acec9cc063a1f2da2","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            m +\u003d _(\"Stdin: %(stdin)s\\n\""},{"line_number":150,"context_line":"                  \"Stdout: %(stdout)s\\n\""},{"line_number":151,"context_line":"                  \"Stderr: %(stderr)s\") % command_str"},{"line_number":152,"context_line":"            log_msg \u003d m.strip().replace(\u0027\\n\u0027, \u0027; \u0027)"},{"line_number":153,"context_line":"            LOG.error(log_msg)"},{"line_number":154,"context_line":"        else:"},{"line_number":155,"context_line":"            log_msg \u003d m.strip().replace(\u0027\\n\u0027, \u0027; \u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_ce11695f","line":152,"in_reply_to":"da85f559_4e4b395a","updated":"2015-11-08 14:32:51.000000000","message":"According to my investigation, some callers expects \u0027Exit code: \u003cn\u003e\u0027.\nI tried to keep the exception message unchanged.\n\nOf course we can update the exception message, but IMHO if doing so it is better to make the message more parseable like JSON. Thought?","commit_id":"b572376f3f5f4d7d36d46126ea14d48925ae09ef"}],"neutron/agent/windows/utils.py":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"195544354ef7b9e5f3192ed44bf018c7f85add37","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        if obj.returncode and obj.returncode in extra_ok_codes:"},{"line_number":82,"context_line":"            obj.returncode \u003d None"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        log_msg \u003d m.strip().replace(\u0027\\n\u0027, \u0027; \u0027)"},{"line_number":85,"context_line":"        if obj.returncode and log_fail_as_error:"},{"line_number":86,"context_line":"            LOG.error(log_msg)"},{"line_number":87,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_ee71cde1","line":84,"updated":"2015-11-08 13:46:27.000000000","message":"\\n is not the newline char for windows.....","commit_id":"b572376f3f5f4d7d36d46126ea14d48925ae09ef"},{"author":{"_account_id":9459,"name":".Haifeng Yan","email":"yanheven@qq.com","username":"yan"},"change_message_id":"47893f62d04abec19064fab487b31825e3ec6c1d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        if obj.returncode and obj.returncode in extra_ok_codes:"},{"line_number":82,"context_line":"            obj.returncode \u003d None"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        log_msg \u003d m.strip().replace(\u0027\\n\u0027, \u0027; \u0027)"},{"line_number":85,"context_line":"        if obj.returncode and log_fail_as_error:"},{"line_number":86,"context_line":"            LOG.error(log_msg)"},{"line_number":87,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_ee722dad","line":84,"updated":"2015-11-08 12:38:54.000000000","message":"we can use \";\" directly in original string","commit_id":"b572376f3f5f4d7d36d46126ea14d48925ae09ef"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"f617440e4b2d6e7d2f6db30bc1cb8033b3e05ba6","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        if obj.returncode and obj.returncode in extra_ok_codes:"},{"line_number":82,"context_line":"            obj.returncode \u003d None"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        log_msg \u003d m.strip().replace(\u0027\\n\u0027, \u0027; \u0027)"},{"line_number":85,"context_line":"        if obj.returncode and log_fail_as_error:"},{"line_number":86,"context_line":"            LOG.error(log_msg)"},{"line_number":87,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_1463041c","line":84,"in_reply_to":"da85f559_ee71cde1","updated":"2015-11-08 17:15:07.000000000","message":"It seems that Python for Windows takes care of the system differences:\n\n C:\\Users\\Henry\u003epython\n Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32\n Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n \u003e\u003e\u003e\n \u003e\u003e\u003e print \"abc\\ndef\"\n abc\n def\n \u003e\u003e\u003e","commit_id":"b572376f3f5f4d7d36d46126ea14d48925ae09ef"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"996f4e6b0cef159cf744318acec9cc063a1f2da2","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        if obj.returncode and obj.returncode in extra_ok_codes:"},{"line_number":82,"context_line":"            obj.returncode \u003d None"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        log_msg \u003d m.strip().replace(\u0027\\n\u0027, \u0027; \u0027)"},{"line_number":85,"context_line":"        if obj.returncode and log_fail_as_error:"},{"line_number":86,"context_line":"            LOG.error(log_msg)"},{"line_number":87,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_f980b948","line":84,"in_reply_to":"da85f559_ee722dad","updated":"2015-11-08 14:32:51.000000000","message":"Do you suggest not to touch this?\nI just try to log the same message.\n\n\\n is already used at L.72. I am not sure we should use \\r or \\r\\n works in this case. Any advise would be appreciated.","commit_id":"b572376f3f5f4d7d36d46126ea14d48925ae09ef"}]}
