)]}'
{"ceilometer/ipmi/platform/intel_node_manager.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f4c2fea3eb6542c659e368c8c0faff15ea3d564f","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        oem_id_index \u003d data_str.find(prefix)"},{"line_number":187,"context_line":"        if oem_id_index !\u003d -1:"},{"line_number":188,"context_line":"            ret \u003d data_str[oem_id_index + len(prefix):"},{"line_number":189,"context_line":"                           oem_id_index + len(prefix) + 4]"},{"line_number":190,"context_line":"            # Byte 5 is slave address. [7:4] from byte 6 is channel"},{"line_number":191,"context_line":"            # number, so just pick ret[2] here."},{"line_number":192,"context_line":"            return (ret[0:2], ret[2])"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_76722d7e","line":189,"range":{"start_line":189,"start_character":42,"end_line":189,"end_character":45},"updated":"2016-02-19 12:38:56.000000000","message":"I\u0027m not sure if new line is valid in the file format, but if IUUC, the new line will only in the 4 bytes, then left side will raise IndexError, so in such case, this line will get wrong result","commit_id":"1472908661fad88360a1af6cbcb2a3482f929321"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"adf47980d6cabdc6c0b12d25bba72fdc662752bb","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        oem_id_index \u003d data_str.find(prefix)"},{"line_number":187,"context_line":"        if oem_id_index !\u003d -1:"},{"line_number":188,"context_line":"            ret \u003d data_str[oem_id_index + len(prefix):"},{"line_number":189,"context_line":"                           oem_id_index + len(prefix) + 4]"},{"line_number":190,"context_line":"            # Byte 5 is slave address. [7:4] from byte 6 is channel"},{"line_number":191,"context_line":"            # number, so just pick ret[2] here."},{"line_number":192,"context_line":"            return (ret[0:2], ret[2])"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_47abee89","line":189,"range":{"start_line":189,"start_character":42,"end_line":189,"end_character":45},"in_reply_to":"bae84128_76722d7e","updated":"2016-02-19 15:25:58.000000000","message":"This is binary file, and \"\\x0A\" AFAIK is not reserved IPMI target address and can be potentially used. Note: there are only 2 byte before conversion to hex string.","commit_id":"1472908661fad88360a1af6cbcb2a3482f929321"}],"ceilometer/tests/unit/ipmi/platform/test_intel_node_manager.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f4c2fea3eb6542c659e368c8c0faff15ea3d564f","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def setUp(self):"},{"line_number":175,"context_line":"        super(ParseSDRFileTestCase, self).setUp()"},{"line_number":176,"context_line":"        self.temp_file \u003d tempfile.NamedTemporaryFile().name"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def test_parsing_found(self):"},{"line_number":179,"context_line":"        data \u003d b\u0027\\x00\\xFF\\x00\\xFF\\x57\\x01\\x00\\x0D\\x01\\x6A\\xB2\\x00\\xFF\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_bb62e0d6","line":176,"range":{"start_line":176,"start_character":13,"end_line":176,"end_character":22},"updated":"2016-02-19 12:38:56.000000000","message":"will be better if addCleanup(os.remove(self.temp_file))","commit_id":"1472908661fad88360a1af6cbcb2a3482f929321"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"adf47980d6cabdc6c0b12d25bba72fdc662752bb","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def setUp(self):"},{"line_number":175,"context_line":"        super(ParseSDRFileTestCase, self).setUp()"},{"line_number":176,"context_line":"        self.temp_file \u003d tempfile.NamedTemporaryFile().name"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def test_parsing_found(self):"},{"line_number":179,"context_line":"        data \u003d b\u0027\\x00\\xFF\\x00\\xFF\\x57\\x01\\x00\\x0D\\x01\\x6A\\xB2\\x00\\xFF\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_87a3369e","line":176,"range":{"start_line":176,"start_character":13,"end_line":176,"end_character":22},"in_reply_to":"bae84128_bb62e0d6","updated":"2016-02-19 15:25:58.000000000","message":"Not sure because fixture in base test class removes used temp dir with all content.","commit_id":"1472908661fad88360a1af6cbcb2a3482f929321"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f4c2fea3eb6542c659e368c8c0faff15ea3d564f","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        super(ParseSDRFileTestCase, self).setUp()"},{"line_number":176,"context_line":"        self.temp_file \u003d tempfile.NamedTemporaryFile().name"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def test_parsing_found(self):"},{"line_number":179,"context_line":"        data \u003d b\u0027\\x00\\xFF\\x00\\xFF\\x57\\x01\\x00\\x0D\\x01\\x6A\\xB2\\x00\\xFF\u0027"},{"line_number":180,"context_line":"        with open(self.temp_file, \u0027wb\u0027) as f:"},{"line_number":181,"context_line":"            f.write(data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_3b3b70ed","line":178,"range":{"start_line":178,"start_character":8,"end_line":178,"end_character":26},"updated":"2016-02-19 12:38:56.000000000","message":"add a more test case for new line case?","commit_id":"1472908661fad88360a1af6cbcb2a3482f929321"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"adf47980d6cabdc6c0b12d25bba72fdc662752bb","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        super(ParseSDRFileTestCase, self).setUp()"},{"line_number":176,"context_line":"        self.temp_file \u003d tempfile.NamedTemporaryFile().name"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def test_parsing_found(self):"},{"line_number":179,"context_line":"        data \u003d b\u0027\\x00\\xFF\\x00\\xFF\\x57\\x01\\x00\\x0D\\x01\\x6A\\xB2\\x00\\xFF\u0027"},{"line_number":180,"context_line":"        with open(self.temp_file, \u0027wb\u0027) as f:"},{"line_number":181,"context_line":"            f.write(data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_c7db7e1a","line":178,"range":{"start_line":178,"start_character":8,"end_line":178,"end_character":26},"in_reply_to":"bae84128_3b3b70ed","updated":"2016-02-19 15:25:58.000000000","message":"This test changed, fails on old code.","commit_id":"1472908661fad88360a1af6cbcb2a3482f929321"}]}
