)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"ed077b5b3cec4ceb7d99386bb005d55629ca43e9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     ZhiQiang Fan \u003caji.zqfan@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-19 03:22:33 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"reject post sample via direct while gnocchi is enabled"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Gnocchi acts as a third party service which receives data via"},{"line_number":10,"context_line":"dispatcher, not a direct storage backend, we need to reject"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a29b11f_b8e555a9","line":7,"updated":"2015-10-19 10:11:51.000000000","message":"it is better: Reject posting sample with \u0027direct\u0027 parameter if Gnocchi enabled","commit_id":"2449b56f0482dbe62a342488504d95fa48ebb8db"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"deafb7a80f19a636fccb3738d9268a4db59a70d2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     ZhiQiang Fan \u003caji.zqfan@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-19 03:22:33 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"reject post sample via direct while gnocchi is enabled"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Gnocchi acts as a third party service which receives data via"},{"line_number":10,"context_line":"dispatcher, not a direct storage backend, we need to reject"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a29b11f_dbaa8b70","line":7,"in_reply_to":"3a29b11f_b8e555a9","updated":"2015-10-19 10:23:53.000000000","message":"Done","commit_id":"2449b56f0482dbe62a342488504d95fa48ebb8db"}],"ceilometer/api/controllers/v2/root.py":[{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"ed077b5b3cec4ceb7d99386bb005d55629ca43e9","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            if kind \u003d\u003d \u0027meters\u0027 and pecan.request.method \u003d\u003d \u0027POST\u0027:"},{"line_number":161,"context_line":"                direct \u003d pecan.request.params.get(\u0027direct\u0027, \u0027\u0027)"},{"line_number":162,"context_line":"                if strutils.bool_from_string(direct):"},{"line_number":163,"context_line":"                    pecan.abort(400, _(\u0027direct option cannot be true when \u0027"},{"line_number":164,"context_line":"                                       \u0027Gnocchi is enabled.\u0027))"},{"line_number":165,"context_line":"                return meters.MetersController(), remainder"},{"line_number":166,"context_line":"            gnocchi_abort()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_3b093f2d","line":163,"updated":"2015-10-19 10:11:51.000000000","message":"not sure this string need a \u0027_\u0027, the gnocchi_abort() didn\u0027t add this translation hint.","commit_id":"2449b56f0482dbe62a342488504d95fa48ebb8db"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"deafb7a80f19a636fccb3738d9268a4db59a70d2","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            if kind \u003d\u003d \u0027meters\u0027 and pecan.request.method \u003d\u003d \u0027POST\u0027:"},{"line_number":161,"context_line":"                direct \u003d pecan.request.params.get(\u0027direct\u0027, \u0027\u0027)"},{"line_number":162,"context_line":"                if strutils.bool_from_string(direct):"},{"line_number":163,"context_line":"                    pecan.abort(400, _(\u0027direct option cannot be true when \u0027"},{"line_number":164,"context_line":"                                       \u0027Gnocchi is enabled.\u0027))"},{"line_number":165,"context_line":"                return meters.MetersController(), remainder"},{"line_number":166,"context_line":"            gnocchi_abort()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_5b143bf4","line":163,"in_reply_to":"3a29b11f_3b093f2d","updated":"2015-10-19 10:23:53.000000000","message":"to end user, I think this is the right behavior, I still remember that some PL and QA from Huawei demand that API error message should be translatable","commit_id":"2449b56f0482dbe62a342488504d95fa48ebb8db"}]}
