)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"e2c0b3de3ad8616cee764e3c464a93d45c610cce","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Enable to specify auth plugin as full class name"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch will enable us to specify auth_plugin as full class name (ex,"},{"line_number":10,"context_line":"keystoneclient.auth.identity.generic.Password) as well as plugin alias ("},{"line_number":11,"context_line":"ex, password )."},{"line_number":12,"context_line":"The implement like this is used by Neutron plugin loading system."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a80dd14_d21691f1","line":9,"updated":"2015-03-13 14:02:16.000000000","message":"What is that ex shortcut? Did you mean e.g.?","commit_id":"b4e80babf792384b97d10a970a70bd96d3769417"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"e2c0b3de3ad8616cee764e3c464a93d45c610cce","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch will enable us to specify auth_plugin as full class name (ex,"},{"line_number":10,"context_line":"keystoneclient.auth.identity.generic.Password) as well as plugin alias ("},{"line_number":11,"context_line":"ex, password )."},{"line_number":12,"context_line":"The implement like this is used by Neutron plugin loading system."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ieec767da6cfdd444843c9d9d66a422bd7b75d09e"},{"line_number":15,"context_line":"Closes-Bug: #1425345"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a80dd14_b2e4bd0d","line":12,"updated":"2015-03-13 14:02:16.000000000","message":"*implementation","commit_id":"b4e80babf792384b97d10a970a70bd96d3769417"}],"keystoneclient/auth/base.py":[{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"e2c0b3de3ad8616cee764e3c464a93d45c610cce","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # fallback to class name"},{"line_number":49,"context_line":"        try:"},{"line_number":50,"context_line":"            plugin_class \u003d importutils.import_class(name)"},{"line_number":51,"context_line":"        except StandardError:"},{"line_number":52,"context_line":"            raise exceptions.NoMatchingPlugin(name)"},{"line_number":53,"context_line":"    return plugin_class"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_1561f338","line":51,"updated":"2015-03-13 14:02:16.000000000","message":"Why are we catching the StandardError here instead of just ImportError?","commit_id":"b4e80babf792384b97d10a970a70bd96d3769417"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"1d843f7dec8e35c6d68c3109eb6480ee2b9304f9","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        mgr \u003d stevedore.DriverManager(namespace\u003dPLUGIN_NAMESPACE,"},{"line_number":44,"context_line":"                                      name\u003dname,"},{"line_number":45,"context_line":"                                      invoke_on_load\u003dFalse)"},{"line_number":46,"context_line":"        plugin_class \u003d mgr.driver"},{"line_number":47,"context_line":"    except RuntimeError:"},{"line_number":48,"context_line":"        # fallback to class name"},{"line_number":49,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_f8141445","line":46,"updated":"2015-03-16 10:57:46.000000000","message":"if you return here you could inline the rest of the function.","commit_id":"a44589b84d5afff5f807dc879cb73aadcc15e548"},{"author":{"_account_id":14764,"name":"Yuki Nishiwaki","email":"uckey.1067@gmail.com","username":"ukinau"},"change_message_id":"d979a6dc542ee56ce0f8dd3eeddc3d57b7a0a777","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        mgr \u003d stevedore.DriverManager(namespace\u003dPLUGIN_NAMESPACE,"},{"line_number":44,"context_line":"                                      name\u003dname,"},{"line_number":45,"context_line":"                                      invoke_on_load\u003dFalse)"},{"line_number":46,"context_line":"        plugin_class \u003d mgr.driver"},{"line_number":47,"context_line":"    except RuntimeError:"},{"line_number":48,"context_line":"        # fallback to class name"},{"line_number":49,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_96420466","line":46,"in_reply_to":"9a80dd14_f8141445","updated":"2015-03-16 13:59:45.000000000","message":"Sorry , I may not understand what you said . \nyou indicated that don\u0027t use variables(plugin_class) and I have to use return directly.\nSo I should change \n\"plugin_class \u003d mgr.driver\" to \"return mgr.driver\" and \n\"plugin_class \u003d importutils.import_class(name)\" to \"return importutils.import_class(name)\" .\nIs it ok ?","commit_id":"a44589b84d5afff5f807dc879cb73aadcc15e548"}]}
