)]}'
{"keystone/identity/controllers.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"07555f1f24ea3a5687d11fd16f4ee73efd9b4e38","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    refs \u003d identity_api.list_users_in_group(context, group_id)"},{"line_number":185,"context_line":"    for r in refs:"},{"line_number":186,"context_line":"        delete_tokens_for_user("},{"line_number":187,"context_line":"            context, token_api, trust_api, r[\u0027user_id\u0027])"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"class User(controller.V2Controller):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F0JI%3D","line":187,"updated":"2013-03-11 17:10:27.000000000","message":"I find it really odd that these functions are defined on the module","commit_id":"e38b9c90ec898dcf8e8c2434c73c65865dab35ef"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"5280c98b62b0271d88a923cc6483e5e5fbe044f9","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    refs \u003d identity_api.list_users_in_group(context, group_id)"},{"line_number":185,"context_line":"    for r in refs:"},{"line_number":186,"context_line":"        delete_tokens_for_user("},{"line_number":187,"context_line":"            context, token_api, trust_api, r[\u0027user_id\u0027])"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"class User(controller.V2Controller):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F0Ak%3D","line":187,"in_reply_to":"AAAAN3%2F%2F0JI%3D","updated":"2013-03-11 18:10:18.000000000","message":"Agreed....I was just going along with the underlying implementation of delete_tokens_for_user()....I think it is because this is called from several different classes, with no suitable common ancestor that holds","commit_id":"e38b9c90ec898dcf8e8c2434c73c65865dab35ef"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"07555f1f24ea3a5687d11fd16f4ee73efd9b4e38","unresolved":false,"context_lines":[{"line_number":643,"context_line":"        # deletion, so that we can remove these tokens after we know"},{"line_number":644,"context_line":"        # the group deletion succeeded."},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        refs \u003d self.identity_api.list_users_in_group(context, group_id)"},{"line_number":647,"context_line":"        self.identity_api.delete_group(context, group_id)"},{"line_number":648,"context_line":"        for r in refs:"},{"line_number":649,"context_line":"            delete_tokens_for_user("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F0Iw%3D","line":646,"updated":"2013-03-11 17:10:27.000000000","message":"what is this function returning? i would think it would be returning user refs...","commit_id":"e38b9c90ec898dcf8e8c2434c73c65865dab35ef"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"07555f1f24ea3a5687d11fd16f4ee73efd9b4e38","unresolved":false,"context_lines":[{"line_number":647,"context_line":"        self.identity_api.delete_group(context, group_id)"},{"line_number":648,"context_line":"        for r in refs:"},{"line_number":649,"context_line":"            delete_tokens_for_user("},{"line_number":650,"context_line":"                context, self.token_api, self.trust_api, r[\u0027user_id\u0027])"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"class CredentialV3(controller.V3Controller):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F0Io%3D","line":650,"updated":"2013-03-11 17:10:27.000000000","message":"... such that this would be r[\u0027id\u0027]","commit_id":"e38b9c90ec898dcf8e8c2434c73c65865dab35ef"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"5280c98b62b0271d88a923cc6483e5e5fbe044f9","unresolved":false,"context_lines":[{"line_number":647,"context_line":"        self.identity_api.delete_group(context, group_id)"},{"line_number":648,"context_line":"        for r in refs:"},{"line_number":649,"context_line":"            delete_tokens_for_user("},{"line_number":650,"context_line":"                context, self.token_api, self.trust_api, r[\u0027user_id\u0027])"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"class CredentialV3(controller.V3Controller):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F0Aw%3D","line":650,"in_reply_to":"AAAAN3%2F%2F0Io%3D","updated":"2013-03-11 18:10:18.000000000","message":"yep, you\u0027re right....haven;t got the tests running yet :-)","commit_id":"e38b9c90ec898dcf8e8c2434c73c65865dab35ef"}],"tests/test_v3_auth.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"dc457c77de2bd952809b2cf513edd03616add9d5","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        self.assertIn(\u0027signed\u0027, r.body)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"class ATestTokenRevoking(test_v3.RestfulTestCase):"},{"line_number":253,"context_line":"    \"\"\"Test token revoking for relevant v3 identity apis\"\"\""},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAN3%2F%2FwQo%3D","line":252,"updated":"2013-03-13 18:50:20.000000000","message":"ATest?","commit_id":"f5edbaeb2d963471c2b50ab8f7083f77e588bce0"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"58f3f5262340e376384dbc89e2b9d1efc37b66b7","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        self.assertIn(\u0027signed\u0027, r.body)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"class ATestTokenRevoking(test_v3.RestfulTestCase):"},{"line_number":253,"context_line":"    \"\"\"Test token revoking for relevant v3 identity apis\"\"\""},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAN3%2F%2FwJ0%3D","line":252,"in_reply_to":"AAAAN3%2F%2FwQo%3D","updated":"2013-03-13 19:46:29.000000000","message":"Oops, I\u0027ll come back in and clean that up.","commit_id":"f5edbaeb2d963471c2b50ab8f7083f77e588bce0"}]}
