)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"b349c4aa69da95410ee411972e92a4cdf2268bcd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lijunli1 \u003clijunli@chinac.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-25 16:04:58 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"When only .pyc left, the extended API can not be used."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I80a3c29a50dcb3cb6bf3708dfeb2a3c75194065b"},{"line_number":10,"context_line":"Closes-bug: #1616358"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1ac06dbe_3f35f745","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":54},"updated":"2016-08-25 08:34:43.000000000","message":"Please add some details here. What happens, why is that bad, what was done to fix it.\n\nWe, as a project are getting worse at commit messages. While I can figure out all of the above by chasing links, I think it is important to have it in the commit message to save time and effort when working out why code changed","commit_id":"73e83e47e4b7e688002d22ea5ca2355e9719700a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ed7cee0c7fc4df0632e92ee14d6f21d3a2952798","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lijunli1 \u003clijunli@chinac.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-25 16:04:58 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"When only .pyc left, the extended API can not be used."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I80a3c29a50dcb3cb6bf3708dfeb2a3c75194065b"},{"line_number":10,"context_line":"Closes-bug: #1616358"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1ac06dbe_4aabce89","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":54},"in_reply_to":"1ac06dbe_3f35f745","updated":"2016-08-25 10:08:18.000000000","message":"I agree with Duncan, I may know what this is about since I looked at the proposed patch in stable/mitaka, but this needs more detail.","commit_id":"73e83e47e4b7e688002d22ea5ca2355e9719700a"}],"cinder/api/extensions.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ed7cee0c7fc4df0632e92ee14d6f21d3a2952798","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            root, ext \u003d os.path.splitext(fname)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"            # Skip __init__ and anything that\u0027s not .py and .pyc"},{"line_number":271,"context_line":"            if (ext !\u003d \u0027.py\u0027 and ext !\u003d \u0027.pyc\u0027) or root \u003d\u003d \u0027__init__\u0027 or \\"},{"line_number":272,"context_line":"                    fname in FILES_TO_SKIP:"},{"line_number":273,"context_line":"                continue"},{"line_number":274,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ac06dbe_0a2b96ec","line":271,"range":{"start_line":271,"start_character":73,"end_line":271,"end_character":74},"updated":"2016-08-25 10:08:18.000000000","message":"-1: Guidelines mention we should use parenthesis instead of \\\n\n if (ext in (\u0027.py\u0027, \u0027.pyc\u0027) or root \u003d\u003d \u0027__init__\u0027 or\n     fname in FILES_TO_SKIP):","commit_id":"73e83e47e4b7e688002d22ea5ca2355e9719700a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ed7cee0c7fc4df0632e92ee14d6f21d3a2952798","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            root, ext \u003d os.path.splitext(fname)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"            # Skip __init__ and anything that\u0027s not .py and .pyc"},{"line_number":271,"context_line":"            if (ext !\u003d \u0027.py\u0027 and ext !\u003d \u0027.pyc\u0027) or root \u003d\u003d \u0027__init__\u0027 or \\"},{"line_number":272,"context_line":"                    fname in FILES_TO_SKIP:"},{"line_number":273,"context_line":"                continue"},{"line_number":274,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ac06dbe_cac4de41","line":271,"range":{"start_line":271,"start_character":15,"end_line":271,"end_character":47},"updated":"2016-08-25 10:08:18.000000000","message":"nit: More pythonic expression would be to use in: ext in (\u0027.py\u0027, \u0027pyc\u0027)","commit_id":"73e83e47e4b7e688002d22ea5ca2355e9719700a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"32b9fb42a82e5a1466befb1b0b749a2f78ab425a","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            root, ext \u003d os.path.splitext(fname)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"            # Skip __init__ and anything that\u0027s not .py and .pyc"},{"line_number":271,"context_line":"            if (ext not in (\u0027.py\u0027, \u0027.pyc\u0027)) or root \u003d\u003d \u0027__init__\u0027 or \\"},{"line_number":272,"context_line":"                    fname in FILES_TO_SKIP:"},{"line_number":273,"context_line":"                continue"},{"line_number":274,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ac06dbe_1ee9141b","line":271,"range":{"start_line":271,"start_character":69,"end_line":271,"end_character":70},"updated":"2016-08-25 10:59:17.000000000","message":"-1: Please use parenthesis instead of \\:\n\n if ((ext not in (\u0027.py\u0027, \u0027.pyc\u0027)) or root \u003d\u003d \u0027__init__\u0027 or\n     fname in FILES_TO_SKIP):","commit_id":"a64962300ce241bb49fb9d9987cbed3b2d397b86"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"fdc3cc0c62bc87e48d4ace9751c8920dca234e89","unresolved":false,"context_lines":[{"line_number":272,"context_line":"                    fname in FILES_TO_SKIP):"},{"line_number":273,"context_line":"                continue"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"            # If .pyc and .py both exist, skip .pyc"},{"line_number":276,"context_line":"            if ext \u003d\u003d \u0027.pyc\u0027 and ((root + \u0027.py\u0027) in filenames):"},{"line_number":277,"context_line":"                continue"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa7ab95a_a81bfbc8","line":275,"updated":"2016-08-29 19:13:52.000000000","message":"If you\u0027re going to get into the business of deciding whether to handle .pyc or .py files, I think you also have to include .pyo in this consideration.  Does it also need to be skipped?","commit_id":"f15d9d5eb079ed41165dbe1888476ac96376d796"},{"author":{"_account_id":23285,"name":"lijunli","email":"lijunli@chinac.com","username":"lijunli1"},"change_message_id":"c0bd2394c85916f9717439eaf118ebbc39a1bdf5","unresolved":false,"context_lines":[{"line_number":272,"context_line":"                    fname in FILES_TO_SKIP):"},{"line_number":273,"context_line":"                continue"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"            # If .pyc and .py both exist, skip .pyc"},{"line_number":276,"context_line":"            if ext \u003d\u003d \u0027.pyc\u0027 and ((root + \u0027.py\u0027) in filenames):"},{"line_number":277,"context_line":"                continue"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa7ab95a_862455c5","line":275,"in_reply_to":"fa7ab95a_a81bfbc8","updated":"2016-08-30 03:17:51.000000000","message":"If leaves both .pyc and .pyo, then we just have to load .pyc and do not need to load .pyo repeatly.\nIf only leaves .pyo, it will result to failure of starting cinder services. May this is a new bug.\nSo currenty we just also need to skip .pyo.","commit_id":"f15d9d5eb079ed41165dbe1888476ac96376d796"}]}
