)]}'
{"keystone/controllers/auth.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9cf91c120dbac8c65ac4d8da5a7122d87fd8285a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        return utils.send_result(200, req, rval)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @utils.wrap_error"},{"line_number":36,"context_line":"    def check_token(self, req, token_id):"},{"line_number":37,"context_line":"        belongs_to \u003d req.GET.get(\"belongsTo\", None)"},{"line_number":38,"context_line":"        config.SERVICE.check_token("},{"line_number":39,"context_line":"            utils.get_auth_token(req), token_id, belongs_to)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACX%2F%2F%2Fd4%3D","line":36,"updated":"2011-09-21 15:39:38.000000000","message":"You need to document what the difference is between this and validate_token. Also, Duplication is Evil.","commit_id":"7eaa3e26ec09c546d7bdafe35d948490f9629370"}],"keystone/logic/service.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9cf91c120dbac8c65ac4d8da5a7122d87fd8285a","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        (token, user) \u003d self.__validate_token(token_id, belongs_to)"},{"line_number":127,"context_line":"        return self.__get_validate_data(token, user)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def check_token(self, admin_token, token_id, belongs_to\u003dNone):"},{"line_number":130,"context_line":"        self.__validate_service_or_keystone_admin_token(admin_token)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        if not api.TOKEN.get(token_id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACX%2F%2F%2Fdw%3D","line":129,"updated":"2011-09-21 15:39:38.000000000","message":"Same as the controller, two nearly identical functions needs documentation to distinguish them. And once again, Duplication is Evil.","commit_id":"7eaa3e26ec09c546d7bdafe35d948490f9629370"}]}
