)]}'
{"keystone/auth/controllers.py":[{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"02722516f28832bd9cab16772d3a9c9926892921","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        else:"},{"line_number":67,"context_line":"            plugin_name \u003d plugin"},{"line_number":68,"context_line":"            plugin_class \u003d CONF.auth.get(plugin)"},{"line_number":69,"context_line":"            driver \u003d importutils.import_object(plugin_class)"},{"line_number":70,"context_line":"        if plugin_name in AUTH_METHODS:"},{"line_number":71,"context_line":"            raise ValueError(_(\u0027Auth plugin %(plugin)s is requesting \u0027"},{"line_number":72,"context_line":"                               \u0027previously registered method %(method)s\u0027) %"}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_e5e20b9f","line":69,"updated":"2015-04-30 19:42:22.000000000","message":"We do not need this check anymore.\n\nIt could be kept for the case one called load_auth_methods more than once, but it is not possible since the check at L 47 does not allow it.","commit_id":"be75cba8b71c5fbd2464d85af623804a3af0628a"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"d512f8f4cb679550e44f26e3f5ae3b4dae7974ca","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        else:"},{"line_number":67,"context_line":"            plugin_name \u003d plugin"},{"line_number":68,"context_line":"            plugin_class \u003d CONF.auth.get(plugin)"},{"line_number":69,"context_line":"            driver \u003d importutils.import_object(plugin_class)"},{"line_number":70,"context_line":"        if plugin_name in AUTH_METHODS:"},{"line_number":71,"context_line":"            raise ValueError(_(\u0027Auth plugin %(plugin)s is requesting \u0027"},{"line_number":72,"context_line":"                               \u0027previously registered method %(method)s\u0027) %"}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_20c23186","line":69,"in_reply_to":"3acd31a7_455f7f41","updated":"2015-04-30 20:00:11.000000000","message":"Yes, makes sense, thanks for clarifying.","commit_id":"be75cba8b71c5fbd2464d85af623804a3af0628a"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"74d2394a8393f60f002788e7031fa1ec6ab8ddf2","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        else:"},{"line_number":67,"context_line":"            plugin_name \u003d plugin"},{"line_number":68,"context_line":"            plugin_class \u003d CONF.auth.get(plugin)"},{"line_number":69,"context_line":"            driver \u003d importutils.import_object(plugin_class)"},{"line_number":70,"context_line":"        if plugin_name in AUTH_METHODS:"},{"line_number":71,"context_line":"            raise ValueError(_(\u0027Auth plugin %(plugin)s is requesting \u0027"},{"line_number":72,"context_line":"                               \u0027previously registered method %(method)s\u0027) %"}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_455f7f41","line":69,"in_reply_to":"3acd31a7_65bb9b73","updated":"2015-04-30 19:47:44.000000000","message":"You could still have the same method come from 2 different plugins, since the plugin can either be imported by full class name or by method name.","commit_id":"be75cba8b71c5fbd2464d85af623804a3af0628a"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"be00f2cd91e51b3cbd61001128f0e2aedac89f7e","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        else:"},{"line_number":67,"context_line":"            plugin_name \u003d plugin"},{"line_number":68,"context_line":"            plugin_class \u003d CONF.auth.get(plugin)"},{"line_number":69,"context_line":"            driver \u003d importutils.import_object(plugin_class)"},{"line_number":70,"context_line":"        if plugin_name in AUTH_METHODS:"},{"line_number":71,"context_line":"            raise ValueError(_(\u0027Auth plugin %(plugin)s is requesting \u0027"},{"line_number":72,"context_line":"                               \u0027previously registered method %(method)s\u0027) %"}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_65bb9b73","line":69,"in_reply_to":"3acd31a7_e5e20b9f","updated":"2015-04-30 19:44:38.000000000","message":"My comment above refers to the check just below: L 70.","commit_id":"be75cba8b71c5fbd2464d85af623804a3af0628a"}]}
