)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"e95e14863e742192c1142f9cf19b00ec5a87bf18","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     chenaidong1 \u003cchen.aidong@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-09-06 09:40:48 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    Policy exception"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"   In the follwing code, when fail to query by policy_id, it will"},{"line_number":10,"context_line":"raise \u0027exception.PolicyNotFound(policy_id\u003dpolicy_id)\u0027,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f287b81_53d796ef","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":4},"updated":"2017-09-06 20:45:52.000000000","message":"Extra space here, don\u0027t indent on these messages","commit_id":"928be9dd56950ff4db3db568986b89a6629d8541"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"e95e14863e742192c1142f9cf19b00ec5a87bf18","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    Policy exception"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"   In the follwing code, when fail to query by policy_id, it will"},{"line_number":10,"context_line":"raise \u0027exception.PolicyNotFound(policy_id\u003dpolicy_id)\u0027,"},{"line_number":11,"context_line":"not \u0027exception.NotFound\u0027."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f287b81_33d40ae9","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":3},"updated":"2017-09-06 20:45:52.000000000","message":"ditto","commit_id":"928be9dd56950ff4db3db568986b89a6629d8541"}],"keystone/policy/core.py":[{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"e95e14863e742192c1142f9cf19b00ec5a87bf18","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def get_policy(self, policy_id):"},{"line_number":49,"context_line":"        try:"},{"line_number":50,"context_line":"            return self.driver.get_policy(policy_id)"},{"line_number":51,"context_line":"        except exception.NotFound:"},{"line_number":52,"context_line":"            raise exception.PolicyNotFound(policy_id\u003dpolicy_id)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def update_policy(self, policy_id, policy, initiator\u003dNone):"},{"line_number":55,"context_line":"        if \u0027id\u0027 in policy and policy_id !\u003d policy[\u0027id\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_f3e202d5","side":"PARENT","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":63},"updated":"2017-09-06 20:45:52.000000000","message":"I think this works, since \"NotFound\" is the parent of \"PolicyNotFound\", but it is redundant if all it does is catch the same exception and then re-throw it.\n\nhttps://github.com/openstack/keystone/blob/master/keystone/exception.py#L348","commit_id":"fe87d284224e0fb61230fbd2b33ee99c6aa36b3c"},{"author":{"_account_id":24269,"name":"chenaidong1","email":"chen.aidong@zte.com.cn","username":"chenaidong1"},"change_message_id":"5c90be17331089374f13ae4188d07e179216bfae","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def get_policy(self, policy_id):"},{"line_number":49,"context_line":"        try:"},{"line_number":50,"context_line":"            return self.driver.get_policy(policy_id)"},{"line_number":51,"context_line":"        except exception.NotFound:"},{"line_number":52,"context_line":"            raise exception.PolicyNotFound(policy_id\u003dpolicy_id)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def update_policy(self, policy_id, policy, initiator\u003dNone):"},{"line_number":55,"context_line":"        if \u0027id\u0027 in policy and policy_id !\u003d policy[\u0027id\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_f4530515","side":"PARENT","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":63},"in_reply_to":"7f287b81_f3e202d5","updated":"2017-09-30 00:59:23.000000000","message":"yes,you are right.","commit_id":"fe87d284224e0fb61230fbd2b33ee99c6aa36b3c"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"e95e14863e742192c1142f9cf19b00ec5a87bf18","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def update_policy(self, policy_id, policy, initiator\u003dNone):"},{"line_number":55,"context_line":"        if \u0027id\u0027 in policy and policy_id !\u003d policy[\u0027id\u0027]:"},{"line_number":56,"context_line":"            raise exception.ValidationError(\u0027Cannot change policy ID\u0027)"},{"line_number":57,"context_line":"        try:"},{"line_number":58,"context_line":"            ref \u003d self.driver.update_policy(policy_id, policy)"},{"line_number":59,"context_line":"        except exception.NotFound:"},{"line_number":60,"context_line":"            raise exception.PolicyNotFound(policy_id\u003dpolicy_id)"},{"line_number":61,"context_line":"        notifications.Audit.updated(self._POLICY, policy_id, initiator)"},{"line_number":62,"context_line":"        return ref"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_f3bd62b7","side":"PARENT","line":60,"range":{"start_line":57,"start_character":0,"end_line":60,"end_character":63},"updated":"2017-09-06 20:45:52.000000000","message":"It looks like this does the same thing here as well.","commit_id":"fe87d284224e0fb61230fbd2b33ee99c6aa36b3c"},{"author":{"_account_id":24269,"name":"chenaidong1","email":"chen.aidong@zte.com.cn","username":"chenaidong1"},"change_message_id":"5c90be17331089374f13ae4188d07e179216bfae","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def update_policy(self, policy_id, policy, initiator\u003dNone):"},{"line_number":55,"context_line":"        if \u0027id\u0027 in policy and policy_id !\u003d policy[\u0027id\u0027]:"},{"line_number":56,"context_line":"            raise exception.ValidationError(\u0027Cannot change policy ID\u0027)"},{"line_number":57,"context_line":"        try:"},{"line_number":58,"context_line":"            ref \u003d self.driver.update_policy(policy_id, policy)"},{"line_number":59,"context_line":"        except exception.NotFound:"},{"line_number":60,"context_line":"            raise exception.PolicyNotFound(policy_id\u003dpolicy_id)"},{"line_number":61,"context_line":"        notifications.Audit.updated(self._POLICY, policy_id, initiator)"},{"line_number":62,"context_line":"        return ref"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_b441fd3b","side":"PARENT","line":60,"range":{"start_line":57,"start_character":0,"end_line":60,"end_character":63},"in_reply_to":"7f287b81_f3bd62b7","updated":"2017-09-30 00:59:23.000000000","message":"Done","commit_id":"fe87d284224e0fb61230fbd2b33ee99c6aa36b3c"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"e95e14863e742192c1142f9cf19b00ec5a87bf18","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        return self.driver.list_policies()"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def delete_policy(self, policy_id, initiator\u003dNone):"},{"line_number":72,"context_line":"        try:"},{"line_number":73,"context_line":"            ret \u003d self.driver.delete_policy(policy_id)"},{"line_number":74,"context_line":"        except exception.NotFound:"},{"line_number":75,"context_line":"            raise exception.PolicyNotFound(policy_id\u003dpolicy_id)"},{"line_number":76,"context_line":"        notifications.Audit.deleted(self._POLICY, policy_id, initiator)"},{"line_number":77,"context_line":"        return ret"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_b3e8fab2","side":"PARENT","line":75,"range":{"start_line":72,"start_character":0,"end_line":75,"end_character":63},"updated":"2017-09-06 20:45:52.000000000","message":"Same","commit_id":"fe87d284224e0fb61230fbd2b33ee99c6aa36b3c"},{"author":{"_account_id":24269,"name":"chenaidong1","email":"chen.aidong@zte.com.cn","username":"chenaidong1"},"change_message_id":"5c90be17331089374f13ae4188d07e179216bfae","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        return self.driver.list_policies()"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def delete_policy(self, policy_id, initiator\u003dNone):"},{"line_number":72,"context_line":"        try:"},{"line_number":73,"context_line":"            ret \u003d self.driver.delete_policy(policy_id)"},{"line_number":74,"context_line":"        except exception.NotFound:"},{"line_number":75,"context_line":"            raise exception.PolicyNotFound(policy_id\u003dpolicy_id)"},{"line_number":76,"context_line":"        notifications.Audit.deleted(self._POLICY, policy_id, initiator)"},{"line_number":77,"context_line":"        return ret"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_943e01b6","side":"PARENT","line":75,"range":{"start_line":72,"start_character":0,"end_line":75,"end_character":63},"in_reply_to":"7f287b81_b3e8fab2","updated":"2017-09-30 00:59:23.000000000","message":"Done","commit_id":"fe87d284224e0fb61230fbd2b33ee99c6aa36b3c"}]}
