)]}'
{"keystone/common/rbac_enforcer/enforcer.py":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"e817eb54c30dfc112b935b0098aaba586c963dee","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        else:"},{"line_number":329,"context_line":"            policy_dict[\u0027target\u0027] \u003d target_attr"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        # Pull the data from the view args (path based params) to generate"},{"line_number":332,"context_line":"        # appropriate input/target attributes, we take an explicit copy here"},{"line_number":333,"context_line":"        # to ensure we\u0027re not somehow corrupting"},{"line_number":334,"context_line":"        json_input \u003d flask.request.get_json(force\u003dTrue, silent\u003dTrue) or {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_e028b085","line":331,"range":{"start_line":331,"start_character":33,"end_line":331,"end_character":43},"updated":"2018-07-20 07:05:35.000000000","message":"the note should be updated as well.","commit_id":"b90cce0fa2ea9cec462a5e1ed3b5f09a58d03c63"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"4656dc0bd4309ffc3093fdbebe985bf12555c209","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        else:"},{"line_number":329,"context_line":"            policy_dict[\u0027target\u0027] \u003d target_attr"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        # Pull the data from the view args (path based params) to generate"},{"line_number":332,"context_line":"        # appropriate input/target attributes, we take an explicit copy here"},{"line_number":333,"context_line":"        # to ensure we\u0027re not somehow corrupting"},{"line_number":334,"context_line":"        json_input \u003d flask.request.get_json(force\u003dTrue, silent\u003dTrue) or {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_0848652b","line":331,"range":{"start_line":331,"start_character":33,"end_line":331,"end_character":43},"in_reply_to":"5f7c97a3_48c5fd8e","updated":"2018-07-20 17:26:42.000000000","message":"https://review.openstack.org/#/c/584451/","commit_id":"b90cce0fa2ea9cec462a5e1ed3b5f09a58d03c63"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"c59918b9ba4d672ca51825cc32cdad9c916db1fc","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        else:"},{"line_number":329,"context_line":"            policy_dict[\u0027target\u0027] \u003d target_attr"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        # Pull the data from the view args (path based params) to generate"},{"line_number":332,"context_line":"        # appropriate input/target attributes, we take an explicit copy here"},{"line_number":333,"context_line":"        # to ensure we\u0027re not somehow corrupting"},{"line_number":334,"context_line":"        json_input \u003d flask.request.get_json(force\u003dTrue, silent\u003dTrue) or {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_48c5fd8e","line":331,"range":{"start_line":331,"start_character":33,"end_line":331,"end_character":43},"in_reply_to":"5f7c97a3_e028b085","updated":"2018-07-20 17:24:48.000000000","message":"Fixed in minor update patch outside of the deep chain.","commit_id":"b90cce0fa2ea9cec462a5e1ed3b5f09a58d03c63"}]}
