)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"16941ab91728c6744e301dfd314ecc50bed9ec9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"cb7ae52a_ec79ce69","updated":"2024-05-14 20:42:04.000000000","message":"A question inline","commit_id":"39605185cb6cb2ae0f4b8faf6ac6cef05a566724"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"75d5333f89b528138c241c0aadcc7e9003aa7594","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"605ddcf6_cce7ed84","updated":"2024-06-24 12:42:28.000000000","message":"LGTM, thanks","commit_id":"52d2a59ac4213851af81c38e6fbafe0cbe43e7a4"}],"manila/tests/api/test_schemas.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7835790ed24d1da6497abe4e4f3b47d4f0ce86d8","unresolved":true,"context_lines":[{"line_number":80,"context_line":"                for ("},{"line_number":81,"context_line":"                    wsgi_action, wsgi_method, action_controller"},{"line_number":82,"context_line":"                ) in wsgi_actions:"},{"line_number":83,"context_line":"                    func \u003d controller.wsgi_actions[wsgi_action]"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"                    if hasattr(action_controller, \u0027versioned_methods\u0027):"},{"line_number":86,"context_line":"                        if wsgi_method in action_controller.versioned_methods:"}],"source_content_type":"text/x-python","patch_set":4,"id":"6c0b15a9_21604bf3","line":83,"updated":"2024-05-01 12:54:34.000000000","message":"Whoops, this isn\u0027t tested. We should have an `else` below to ensure we test it.","commit_id":"aed7c1e62c9ecd7a506ba5ee6b5a18637b9f00b3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8bdcb0efb8cac135ae1d1f8128986bd4c4f29838","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                for ("},{"line_number":81,"context_line":"                    wsgi_action, wsgi_method, action_controller"},{"line_number":82,"context_line":"                ) in wsgi_actions:"},{"line_number":83,"context_line":"                    func \u003d controller.wsgi_actions[wsgi_action]"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"                    if hasattr(action_controller, \u0027versioned_methods\u0027):"},{"line_number":86,"context_line":"                        if wsgi_method in action_controller.versioned_methods:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a895284_7babfd9a","line":83,"in_reply_to":"6c0b15a9_21604bf3","updated":"2024-05-13 14:55:13.000000000","message":"Done","commit_id":"aed7c1e62c9ecd7a506ba5ee6b5a18637b9f00b3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"16941ab91728c6744e301dfd314ecc50bed9ec9d","unresolved":true,"context_lines":[{"line_number":110,"context_line":"                        _validate_func(func, method)"},{"line_number":111,"context_line":"                else:"},{"line_number":112,"context_line":"                    if not hasattr(controller.controller, action):"},{"line_number":113,"context_line":"                        # these are almost certainly because of use of"},{"line_number":114,"context_line":"                        # routes.mapper.Mapper.resource, which we should remove"},{"line_number":115,"context_line":"                        continue"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"                    # unversioned method"}],"source_content_type":"text/x-python","patch_set":9,"id":"aa5d7cad_07599bd8","line":114,"range":{"start_line":113,"start_character":0,"end_line":114,"end_character":79},"updated":"2024-05-14 20:42:04.000000000","message":"why?","commit_id":"39605185cb6cb2ae0f4b8faf6ac6cef05a566724"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6ab4142d0a9552d7c790a6e7c63eab0a3c248e1","unresolved":true,"context_lines":[{"line_number":110,"context_line":"                        _validate_func(func, method)"},{"line_number":111,"context_line":"                else:"},{"line_number":112,"context_line":"                    if not hasattr(controller.controller, action):"},{"line_number":113,"context_line":"                        # these are almost certainly because of use of"},{"line_number":114,"context_line":"                        # routes.mapper.Mapper.resource, which we should remove"},{"line_number":115,"context_line":"                        continue"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"                    # unversioned method"}],"source_content_type":"text/x-python","patch_set":9,"id":"af56931e_2da4fdd2","line":114,"range":{"start_line":113,"start_character":0,"end_line":114,"end_character":79},"in_reply_to":"aa5d7cad_07599bd8","updated":"2024-05-15 15:14:12.000000000","message":"Because they\u0027re causing the issue we see here. Using `Mapper.resource` causes routes to create pre-emptive mappings of paths to methods whether or not the method exists on the controller. That makes introspection more difficult since we don\u0027t know if the method is wrong because of this or because of a programming error. Also, from a personal perspective, it feels too \"magical\" to me and I\u0027d rather explicit path-method mappings (like Nova does).","commit_id":"39605185cb6cb2ae0f4b8faf6ac6cef05a566724"}]}
