)]}'
{"keystone/common/controller.py":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"3a80eeab9f310c8137daee4fb7ffe652baf71db0","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    return wrapper"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"@dependency.requires(\u0027catalog_api\u0027, \u0027identity_api\u0027, \u0027policy_api\u0027, \u0027token_api\u0027)"},{"line_number":60,"context_line":"class V2Controller(wsgi.Application):"},{"line_number":61,"context_line":"    \"\"\"Base controller class for Identity API v2.\"\"\""},{"line_number":62,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F8KM%3D","line":59,"updated":"2012-12-19 19:47:14.000000000","message":"Drop the requires here, and move it to the individual controllers instead.","commit_id":"7d4a2d0d83f627203959f397b37e513abe16ebf3"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"c1c8bd338b496c67be0f47c86959c1bbba150d01","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    return wrapper"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"@dependency.requires(\u0027catalog_api\u0027, \u0027identity_api\u0027, \u0027policy_api\u0027, \u0027token_api\u0027)"},{"line_number":60,"context_line":"class V2Controller(wsgi.Application):"},{"line_number":61,"context_line":"    \"\"\"Base controller class for Identity API v2.\"\"\""},{"line_number":62,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F8C4%3D","line":59,"in_reply_to":"AAAAM3%2F%2F8KM%3D","updated":"2012-12-19 20:51:58.000000000","message":"Did the best I could in patch 2; the only dependency that I could remove was catalog_api, just because everything needs to authenticate requests (which itself requires token_api + identity_api + policy_api).\n\nSo, the controllers in patch #2 that explicitly require catalog_api now list it as a dependency.","commit_id":"7d4a2d0d83f627203959f397b37e513abe16ebf3"}],"keystone/contrib/admin_crud/core.py":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"3a80eeab9f310c8137daee4fb7ffe652baf71db0","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def add_routes(self, mapper):"},{"line_number":29,"context_line":"        tenant_controller \u003d identity.controllers.Tenant()"},{"line_number":30,"context_line":"        user_controller \u003d identity.controllers.User()"},{"line_number":31,"context_line":"        role_controller \u003d identity.controllers.Role()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F8J4%3D","line":28,"updated":"2012-12-19 19:47:14.000000000","message":"should we @requires these as well?","commit_id":"7d4a2d0d83f627203959f397b37e513abe16ebf3"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"c1c8bd338b496c67be0f47c86959c1bbba150d01","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def add_routes(self, mapper):"},{"line_number":29,"context_line":"        tenant_controller \u003d identity.controllers.Tenant()"},{"line_number":30,"context_line":"        user_controller \u003d identity.controllers.User()"},{"line_number":31,"context_line":"        role_controller \u003d identity.controllers.Role()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F8Jg%3D","line":28,"in_reply_to":"AAAAM3%2F%2F8J4%3D","updated":"2012-12-19 20:51:58.000000000","message":"you definitely could","commit_id":"7d4a2d0d83f627203959f397b37e513abe16ebf3"}],"tests/test_injection.py":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"3a80eeab9f310c8137daee4fb7ffe652baf71db0","unresolved":false,"context_lines":[{"line_number":27,"context_line":"                assert False"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        @dependency.provider(\u0027pepsi_api\u0027)"},{"line_number":30,"context_line":"        class PepsiImplementation(SodaInterface):"},{"line_number":31,"context_line":"            def do_work(self):"},{"line_number":32,"context_line":"                return True"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F8K0%3D","line":30,"updated":"2012-12-19 19:47:14.000000000","message":"I understand why you used these, but lets not have trademark issues.","commit_id":"7d4a2d0d83f627203959f397b37e513abe16ebf3"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"c1c8bd338b496c67be0f47c86959c1bbba150d01","unresolved":false,"context_lines":[{"line_number":27,"context_line":"                assert False"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        @dependency.provider(\u0027pepsi_api\u0027)"},{"line_number":30,"context_line":"        class PepsiImplementation(SodaInterface):"},{"line_number":31,"context_line":"            def do_work(self):"},{"line_number":32,"context_line":"                return True"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F8JM%3D","line":30,"in_reply_to":"AAAAM3%2F%2F8K0%3D","updated":"2012-12-19 20:51:58.000000000","message":"ha ;) will change them to be more generic","commit_id":"7d4a2d0d83f627203959f397b37e513abe16ebf3"}]}
