)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"f5d4c8bda0ca4043b5aa7fcdbb9dc3b67730a423","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Removes the condition that an authentication plugin knows the \"method\""},{"line_number":10,"context_line":"name that is going to be used to call it. This condition prevents"},{"line_number":11,"context_line":"different mechanisms like \"kerberos\" and \"saml\" from using the same"},{"line_number":12,"context_line":"backend plugin.  "},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The client should not know how the server is enforcing the Kerberos"},{"line_number":15,"context_line":"authentication,  mod_auth_kerb or embedded Kerberos,  but the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"baada198_f21bfec8","line":12,"updated":"2014-08-07 03:12:14.000000000","message":"Remove the extra space after the period.  Sorry for being picky :)","commit_id":"83f5c4851293840030ab4f7b4c453c07f0c78d61"}],"keystone/auth/controllers.py":[{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"2d82b59f256cb711252682e1aec51c246af6a134","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            # imported rather than used as a plugin identifier."},{"line_number":53,"context_line":"            plugin_class \u003d plugin"},{"line_number":54,"context_line":"            driver \u003d importutils.import_object(plugin)"},{"line_number":55,"context_line":"            if not hasattr(driver, \u0027method\u0027):"},{"line_number":56,"context_line":"                raise ValueError(_(\u0027Cannot load an auth-plugin by class-name \u0027"},{"line_number":57,"context_line":"                                   \u0027without a \"method\" attribute defined: %s\u0027),"},{"line_number":58,"context_line":"                                 plugin_class)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_c19b4371","line":55,"updated":"2014-07-18 18:46:53.000000000","message":"What is the reason for keeping this particular attribute check for \"method\"?","commit_id":"4ca44c24d0e1b65b89309f9e369abe381dd5becd"},{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"2d82b59f256cb711252682e1aec51c246af6a134","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                raise ValueError(_(\u0027Cannot load an auth-plugin by class-name \u0027"},{"line_number":57,"context_line":"                                   \u0027without a \"method\" attribute defined: %s\u0027),"},{"line_number":58,"context_line":"                                 plugin_class)"},{"line_number":59,"context_line":"            plugin_name \u003d driver.method"},{"line_number":60,"context_line":"        else:"},{"line_number":61,"context_line":"            plugin_name \u003d plugin"},{"line_number":62,"context_line":"            plugin_class \u003d CONF.auth.get(plugin)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_610ef78d","line":59,"updated":"2014-07-18 18:46:53.000000000","message":"Similar question.  Why driver.method as oppose to driver?  The answer will help me understand the change.","commit_id":"4ca44c24d0e1b65b89309f9e369abe381dd5becd"}]}
