)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"02990e1470bf33e5a212b4cfb608392a10cbde77","unresolved":false,"context_lines":[{"line_number":22,"context_line":"* Add prompt_for_password() to ask the user to enter a password"},{"line_number":23,"context_line":"  when necessary.  Passed to ClientManager in a new kward pw_func."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Bug: 1355838"},{"line_number":26,"context_line":"Change-Id: I9fdec9144c4c84f65aed1cf91ce41fe1895089b2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9aa7fdbe_3b05507a","line":25,"updated":"2014-10-22 07:54:47.000000000","message":"Closes-Bug: #1355838","commit_id":"e063246b97a7f31a47aca0a5eb36d571f5df7236"}],"openstackclient/api/auth.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a9eac320e814a470fd9ddacdfbe9a8eb8e0c8305","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    if options.os_url and options.os_token:"},{"line_number":63,"context_line":"        # service token authentication"},{"line_number":64,"context_line":"        auth_plugin \u003d \u0027token_endpoint\u0027"},{"line_number":65,"context_line":"    elif options.os_username:"},{"line_number":66,"context_line":"        if options.os_identity_api_version \u003d\u003d \u00273\u0027:"},{"line_number":67,"context_line":"            auth_plugin \u003d \u0027v3password\u0027"},{"line_number":68,"context_line":"        elif options.os_identity_api_version \u003d\u003d \u00272.0\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_832520c4","line":65,"updated":"2014-10-21 04:50:40.000000000","message":"not sure i understand the motivation here","commit_id":"9f74ac874d6558b3275c13dd829b59d84d7a6188"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"eca9e0d261ab9ccc576906c9808a8e32d98d4ff2","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    if options.os_url and options.os_token:"},{"line_number":63,"context_line":"        # service token authentication"},{"line_number":64,"context_line":"        auth_plugin \u003d \u0027token_endpoint\u0027"},{"line_number":65,"context_line":"    elif options.os_username:"},{"line_number":66,"context_line":"        if options.os_identity_api_version \u003d\u003d \u00273\u0027:"},{"line_number":67,"context_line":"            auth_plugin \u003d \u0027v3password\u0027"},{"line_number":68,"context_line":"        elif options.os_identity_api_version \u003d\u003d \u00272.0\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_c6f2d699","line":65,"in_reply_to":"9aa7fdbe_832520c4","updated":"2014-10-21 05:28:11.000000000","message":"testing for password but password isn\u0027t entered (a use case we\u0027ve supported so far) doesn\u0027t work.  I\u0027m assuming (for now maybe) that anything with a username but no auth plugin is meant to be password auth.","commit_id":"9f74ac874d6558b3275c13dd829b59d84d7a6188"}],"openstackclient/common/clientmanager.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a9eac320e814a470fd9ddacdfbe9a8eb8e0c8305","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        :param pw_func:"},{"line_number":76,"context_line":"            Callback function for asking the user for a password.  The function"},{"line_number":77,"context_line":"            takes an optional string for the prompt (\u0027Password: \u0027 on None) and"},{"line_number":78,"context_line":"            returns a string containig the password"},{"line_number":79,"context_line":"        \"\"\""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        # If no plugin is named by the user, select one based on"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_064e9e6f","line":78,"updated":"2014-10-21 04:50:40.000000000","message":"containing*","commit_id":"9f74ac874d6558b3275c13dd829b59d84d7a6188"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"eca9e0d261ab9ccc576906c9808a8e32d98d4ff2","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        :param pw_func:"},{"line_number":76,"context_line":"            Callback function for asking the user for a password.  The function"},{"line_number":77,"context_line":"            takes an optional string for the prompt (\u0027Password: \u0027 on None) and"},{"line_number":78,"context_line":"            returns a string containig the password"},{"line_number":79,"context_line":"        \"\"\""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        # If no plugin is named by the user, select one based on"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_663bea3a","line":78,"in_reply_to":"9aa7fdbe_064e9e6f","updated":"2014-10-21 05:28:11.000000000","message":"\u003csigh\u003emy \u0027N\u0027 key is on erratic strike?\u003c/sigh\u003e","commit_id":"9f74ac874d6558b3275c13dd829b59d84d7a6188"}]}
