)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"84b6bb49290542bf09f32916fedd1de395e1998a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Plugins are currently only loadable from entry points. Add a way to load"},{"line_number":10,"context_line":"auth plugins at runtime in a way that doesn\u0027t need to be permanently"},{"line_number":11,"context_line":"available."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ic174728981cff2376b595feb8208173a275981af"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3acd31a7_88c4c792","line":12,"updated":"2015-04-29 15:07:54.000000000","message":"Needs a bug or a blueprint.","commit_id":"1e542e14ca16147ad55625a4dbb3ddb19e38d66d"}],"keystoneclient/auth/base.py":[{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"6796094f66da474a39a71c8ff7145a9c3df8d1ee","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from keystoneclient import exceptions"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# NOTE(jamielennox): The AUTH_INTERFACE is a special value that can be"},{"line_number":22,"context_line":"# requested from get_endpoint. If a plugin receives this as the value of"},{"line_number":23,"context_line":"# \u0027interface\u0027 it should return the initial URL that was passed to the plugin."}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_904aa082","side":"PARENT","line":20,"updated":"2015-06-29 18:17:16.000000000","message":"Please return the line back","commit_id":"d403c341323970a8d634c7379eba75c7d016a899"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"a82b895173826a452252199cb5b55b78b0f544ae","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from keystoneclient import exceptions"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# NOTE(jamielennox): The AUTH_INTERFACE is a special value that can be"},{"line_number":22,"context_line":"# requested from get_endpoint. If a plugin receives this as the value of"},{"line_number":23,"context_line":"# \u0027interface\u0027 it should return the initial URL that was passed to the plugin."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_22c4d03e","side":"PARENT","line":20,"in_reply_to":"ba3cc151_904aa082","updated":"2015-07-10 23:38:16.000000000","message":"Yes please","commit_id":"d403c341323970a8d634c7379eba75c7d016a899"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"6796094f66da474a39a71c8ff7145a9c3df8d1ee","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    return mgr.driver"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"def register_plugin_class(name, klass):"},{"line_number":58,"context_line":"    \"\"\"Add a plugin to the available list without a entrypoint."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    Allow a CLI or similar to register a plugin by name."}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_d006e81f","line":57,"updated":"2015-06-29 18:17:16.000000000","message":"PEP8 suggests using \u0027class_\u0027 here\n\nhttps://www.python.org/dev/peps/pep-0008/#descriptive-naming-styles","commit_id":"6deba092d6548062b6e11c83606bb5a159b96b59"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"a82b895173826a452252199cb5b55b78b0f544ae","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    return mgr.driver"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"def register_plugin_class(name, klass):"},{"line_number":58,"context_line":"    \"\"\"Add a plugin to the available list without a entrypoint."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    Allow a CLI or similar to register a plugin by name."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_82c7dc44","line":57,"in_reply_to":"ba3cc151_d006e81f","updated":"2015-07-10 23:38:16.000000000","message":"Good suggestion, not a blocker for me though.","commit_id":"6deba092d6548062b6e11c83606bb5a159b96b59"}]}
