)]}'
{"keystone/auth/controllers.py":[{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"5edc9aede80b52cce7f7c1386975a3d6eb715161","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        # Sanitizes methods received in request\u0027s body"},{"line_number":245,"context_line":"        # Filters out duplicates, while keeping elements\u0027 order."},{"line_number":246,"context_line":"        method_names \u003d []"},{"line_number":247,"context_line":"        for meth in self.auth[\u0027identity\u0027][\u0027methods\u0027]:"},{"line_number":248,"context_line":"            if meth not in method_names:"},{"line_number":249,"context_line":"                method_names.append(meth)"},{"line_number":250,"context_line":"        return method_names"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F94ZA%3D","line":247,"updated":"2014-04-01 13:10:46.000000000","message":"I would prefer the usage of the word \"method\" instead of the abbreviation. so the next if would read \"if method not in method_names\" which looks more readable.","commit_id":"c95a79931ea5628885836f90075b7b978020a724"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"4219d1758fa3c93b3f6fe16887492b31763d42b2","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        # Sanitizes methods received in request\u0027s body"},{"line_number":245,"context_line":"        # Filters out duplicates, while keeping elements\u0027 order."},{"line_number":246,"context_line":"        method_names \u003d []"},{"line_number":247,"context_line":"        for meth in self.auth[\u0027identity\u0027][\u0027methods\u0027]:"},{"line_number":248,"context_line":"            if meth not in method_names:"},{"line_number":249,"context_line":"                method_names.append(meth)"},{"line_number":250,"context_line":"        return method_names"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F93Aw%3D","line":247,"in_reply_to":"AAAAWH%2F94ZA%3D","updated":"2014-04-01 15:46:31.000000000","message":"Done","commit_id":"c95a79931ea5628885836f90075b7b978020a724"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9440c58f930f55abd3bcc755aebbaea47ef9f91f","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        for method in self.auth[\u0027identity\u0027][\u0027methods\u0027]:"},{"line_number":248,"context_line":"            if method not in method_names:"},{"line_number":249,"context_line":"                method_names.append(method)"},{"line_number":250,"context_line":"        return method_names"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def get_method_data(self, method):"},{"line_number":253,"context_line":"        \"\"\"Get the auth method payload."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9u7A%3D","line":250,"updated":"2014-04-02 14:01:20.000000000","message":"isn\u0027t this\n\n return list(set(self.auth[\u0027identity\u0027][\u0027methods\u0027]))\n\n?","commit_id":"ef868ad92c00e23a4a5e9eb71e3e0bf5ae2fff0c"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"a198e1e31addda6781f69e3144a858bf6541dc73","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        for method in self.auth[\u0027identity\u0027][\u0027methods\u0027]:"},{"line_number":248,"context_line":"            if method not in method_names:"},{"line_number":249,"context_line":"                method_names.append(method)"},{"line_number":250,"context_line":"        return method_names"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def get_method_data(self, method):"},{"line_number":253,"context_line":"        \"\"\"Get the auth method payload."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9uy4%3D","line":250,"in_reply_to":"AAAAWH%2F9u7A%3D","updated":"2014-04-02 14:17:22.000000000","message":"that was my intuition as well, but that wouldn\u0027t preserve order!","commit_id":"ef868ad92c00e23a4a5e9eb71e3e0bf5ae2fff0c"}],"keystone/tests/test_v3_auth.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9440c58f930f55abd3bcc755aebbaea47ef9f91f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        context \u003d None"},{"line_number":94,"context_line":"        auth_info \u003d auth.controllers.AuthInfo.create(context, auth_data)"},{"line_number":95,"context_line":"        self.assertEqual(auth_info.get_method_names(),"},{"line_number":96,"context_line":"                         [\u0027password\u0027, \u0027token\u0027])"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def test_get_method_data_invalid_method(self):"},{"line_number":99,"context_line":"        auth_data \u003d self.build_authentication_request("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9u6c%3D","line":96,"updated":"2014-04-02 14:01:20.000000000","message":"does the order matter?","commit_id":"ef868ad92c00e23a4a5e9eb71e3e0bf5ae2fff0c"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"a198e1e31addda6781f69e3144a858bf6541dc73","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        context \u003d None"},{"line_number":94,"context_line":"        auth_info \u003d auth.controllers.AuthInfo.create(context, auth_data)"},{"line_number":95,"context_line":"        self.assertEqual(auth_info.get_method_names(),"},{"line_number":96,"context_line":"                         [\u0027password\u0027, \u0027token\u0027])"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def test_get_method_data_invalid_method(self):"},{"line_number":99,"context_line":"        auth_data \u003d self.build_authentication_request("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9uyY%3D","line":96,"in_reply_to":"AAAAWH%2F9u6c%3D","updated":"2014-04-02 14:17:22.000000000","message":"it may - they\u0027re processed in order. it\u0027s basically the only use case for asking clients to specifically enumerate \u0027methods\u0027 at all","commit_id":"ef868ad92c00e23a4a5e9eb71e3e0bf5ae2fff0c"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"db0a5c3b1a7377c07629da5430e99d4b026ebe78","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        context \u003d None"},{"line_number":94,"context_line":"        auth_info \u003d auth.controllers.AuthInfo.create(context, auth_data)"},{"line_number":95,"context_line":"        self.assertEqual(auth_info.get_method_names(),"},{"line_number":96,"context_line":"                         [\u0027password\u0027, \u0027token\u0027])"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def test_get_method_data_invalid_method(self):"},{"line_number":99,"context_line":"        auth_data \u003d self.build_authentication_request("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9uv0%3D","line":96,"in_reply_to":"AAAAWH%2F9uyY%3D","updated":"2014-04-02 14:22:02.000000000","message":"If the order matters then that might be an argument for rejecting the request (as in 403 Forbidden) if there are duplicate method names, since Keystone doesn\u0027t really know what the user was trying to do.\n\nI\u0027m also fine with handling it this way. We can switch to rejecting the request later.","commit_id":"ef868ad92c00e23a4a5e9eb71e3e0bf5ae2fff0c"}]}
