)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"a2b2dd4ff6a73a4a12146d40be7912f49fe6b46e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Marco Fargetta \u003cmarco.fargetta@ct.infn.it\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-06 13:08:21 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add suport to remote_ids"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The update federation API introduce a new parameter for every identity"},{"line_number":10,"context_line":"provider, named remote_ids, which contains a list of entity ID associated"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a80dd14_08563f2a","line":7,"updated":"2015-03-07 02:39:05.000000000","message":"typo: support","commit_id":"1ac5807abe82dca28ebe861944beaeee0478900c"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"20f2ad9880b358cf1a4ddc85d819a96cfa8e5068","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Marco Fargetta \u003cmarco.fargetta@ct.infn.it\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-06 13:08:21 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add suport to remote_ids"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The update federation API introduce a new parameter for every identity"},{"line_number":10,"context_line":"provider, named remote_ids, which contains a list of entity ID associated"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a80dd14_5329ac35","line":7,"in_reply_to":"9a80dd14_08563f2a","updated":"2015-03-09 10:43:17.000000000","message":"Done","commit_id":"1ac5807abe82dca28ebe861944beaeee0478900c"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"a2b2dd4ff6a73a4a12146d40be7912f49fe6b46e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add suport to remote_ids"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The update federation API introduce a new parameter for every identity"},{"line_number":10,"context_line":"provider, named remote_ids, which contains a list of entity ID associated"},{"line_number":11,"context_line":"with. For more information look at the blueprint:"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a80dd14_88394ff4","line":9,"updated":"2015-03-07 02:39:05.000000000","message":"the patch impacts both create and update, please update the description here to match the change","commit_id":"1ac5807abe82dca28ebe861944beaeee0478900c"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"20f2ad9880b358cf1a4ddc85d819a96cfa8e5068","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add suport to remote_ids"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The update federation API introduce a new parameter for every identity"},{"line_number":10,"context_line":"provider, named remote_ids, which contains a list of entity ID associated"},{"line_number":11,"context_line":"with. For more information look at the blueprint:"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a80dd14_f3e0e0ce","line":9,"in_reply_to":"9a80dd14_88394ff4","updated":"2015-03-09 10:43:17.000000000","message":"Done","commit_id":"1ac5807abe82dca28ebe861944beaeee0478900c"}],"doc/source/command-objects/identity-provider.rst":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ec8ca7367361a28d29c3a2c1a8b73f5e1579f807","unresolved":false,"context_lines":[{"line_number":93,"context_line":".. option:: --file"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    File with the remote-ids associated with the identity provider"},{"line_number":96,"context_line":"    (requires --remote-id option to be specified)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":".. option:: --enable"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a80dd14_3ac8cd54","line":96,"updated":"2015-03-12 18:57:54.000000000","message":"there needs to be more info on how to structure the file, is it:\n\n  my_remote_idps1.txt\n    remote_id1, remote_id2\n\nor\n\n  my_remote_idps2.txt\n    remote_id1\n    remote_id2","commit_id":"63f4b75c5a7ff221aad4c8879fc7aef60d793048"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"cc64c2c661bdf9fe994de9c282cc627c36d983f7","unresolved":false,"context_lines":[{"line_number":15,"context_line":".. code:: bash"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    os identity provider create"},{"line_number":18,"context_line":"        [--remote-id \u003cremote-ids\u003e]"},{"line_number":19,"context_line":"        [--file]"},{"line_number":20,"context_line":"        [--description \u003cdescription\u003e]"},{"line_number":21,"context_line":"        [--enable | --disable]"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a80dd14_c0f4a988","line":18,"updated":"2015-03-16 16:37:41.000000000","message":"for arguments supporting multiple values, it should look like:\n\n [--security-group \u003csecurity-group-list\u003e [...] ] \n\n- sample taken server.rst","commit_id":"ac701314d424f156cbc4c27b3b7922289af11193"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":15,"context_line":".. code:: bash"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    os identity provider create"},{"line_number":18,"context_line":"        [--remote-id \u003cremote-ids\u003e | --remote-id-file \u003cfile_name\u003e]"},{"line_number":19,"context_line":"        [--description \u003cdescription\u003e]"},{"line_number":20,"context_line":"        [--enable | --disable]"},{"line_number":21,"context_line":"        \u003cname\u003e"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_3e348f49","line":18,"updated":"2015-03-17 15:17:53.000000000","message":"\u003cremote-id\u003e and \u003cfile-name\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":15,"context_line":".. code:: bash"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    os identity provider create"},{"line_number":18,"context_line":"        [--remote-id \u003cremote-ids\u003e | --remote-id-file \u003cfile_name\u003e]"},{"line_number":19,"context_line":"        [--description \u003cdescription\u003e]"},{"line_number":20,"context_line":"        [--enable | --disable]"},{"line_number":21,"context_line":"        \u003cname\u003e"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_cb48e9b5","line":18,"in_reply_to":"9a80dd14_3e348f49","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        [--enable | --disable]"},{"line_number":21,"context_line":"        \u003cname\u003e"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":".. option:: --remote-id"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":26,"context_line":"    values)"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_feecb794","line":23,"updated":"2015-03-17 15:17:53.000000000","message":"--remote-id \u003cremote-id\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        [--enable | --disable]"},{"line_number":21,"context_line":"        \u003cname\u003e"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":".. option:: --remote-id"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":26,"context_line":"    values)"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_ebedad8f","line":23,"in_reply_to":"9a80dd14_feecb794","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":26,"context_line":"    values)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":".. option:: --remote-id-file"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    Name of a file contains a remote-id per line to associate with the"},{"line_number":31,"context_line":"    identity provider"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_de1b73c8","line":28,"updated":"2015-03-17 15:17:53.000000000","message":"--remote-id-file \u003cfile-name\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":26,"context_line":"    values)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":".. option:: --remote-id-file"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    Name of a file contains a remote-id per line to associate with the"},{"line_number":31,"context_line":"    identity provider"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_abfbb545","line":28,"in_reply_to":"9a80dd14_de1b73c8","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":80,"context_line":".. code:: bash"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    os identity provider set"},{"line_number":83,"context_line":"        [--remote-id \u003cremote-ids\u003e | --remote-id-file \u003cfile_name\u003e]"},{"line_number":84,"context_line":"        [--enable | --disable]"},{"line_number":85,"context_line":"        \u003cidentity-provider\u003e"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_9e3adb32","line":83,"updated":"2015-03-17 15:17:53.000000000","message":"\u003cremote-id\u003e and \u003cfile-name\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":80,"context_line":".. code:: bash"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    os identity provider set"},{"line_number":83,"context_line":"        [--remote-id \u003cremote-ids\u003e | --remote-id-file \u003cfile_name\u003e]"},{"line_number":84,"context_line":"        [--enable | --disable]"},{"line_number":85,"context_line":"        \u003cidentity-provider\u003e"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_6b88ddc6","line":83,"in_reply_to":"9a80dd14_9e3adb32","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        [--enable | --disable]"},{"line_number":85,"context_line":"        \u003cidentity-provider\u003e"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":".. option:: --remote-id"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":90,"context_line":"    values)"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_7e00c735","line":87,"updated":"2015-03-17 15:17:53.000000000","message":"--remote-id \u003cremote-id\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        [--enable | --disable]"},{"line_number":85,"context_line":"        \u003cidentity-provider\u003e"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":".. option:: --remote-id"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":90,"context_line":"    values)"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_2bb6e58a","line":87,"in_reply_to":"9a80dd14_7e00c735","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":90,"context_line":"    values)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":".. option:: --remote-id-file"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    Name of a file contains a remote-id per line to associate with the"},{"line_number":95,"context_line":"    identity provider"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_3e82cfc8","line":92,"updated":"2015-03-17 15:17:53.000000000","message":"--remote-id-file \u003cfile-name\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":90,"context_line":"    values)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":".. option:: --remote-id-file"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    Name of a file contains a remote-id per line to associate with the"},{"line_number":95,"context_line":"    identity provider"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a80dd14_4bb95978","line":92,"in_reply_to":"9a80dd14_3e82cfc8","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7883d5517558927520b8a061f6daf39d30f2db71","unresolved":false,"context_lines":[{"line_number":15,"context_line":".. code:: bash"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    os identity provider create"},{"line_number":18,"context_line":"        [--remote-id \u003cremote-id\u003e | --remote-id-file \u003cfile-name\u003e]"},{"line_number":19,"context_line":"        [--description \u003cdescription\u003e]"},{"line_number":20,"context_line":"        [--enable | --disable]"},{"line_number":21,"context_line":"        \u003cname\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a80dd14_25118504","line":18,"updated":"2015-03-19 06:34:01.000000000","message":"for arguments supporting multiple values, it should look like:\n\n[--security-group \u003csecurity-group-list\u003e [...] ]\n\nSee sample in https://github.com/openstack/python-openstackclient/blob/master/doc/source/command-objects/server.rst","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4cd80b79a05d0b33d558a7c8f46decba20faaa21","unresolved":false,"context_lines":[{"line_number":15,"context_line":".. code:: bash"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    os identity provider create"},{"line_number":18,"context_line":"        [--remote-id \u003cremote-id\u003e | --remote-id-file \u003cfile-name\u003e]"},{"line_number":19,"context_line":"        [--description \u003cdescription\u003e]"},{"line_number":20,"context_line":"        [--enable | --disable]"},{"line_number":21,"context_line":"        \u003cname\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a80dd14_d5b5ad32","line":18,"in_reply_to":"9a80dd14_25118504","updated":"2015-03-19 10:39:57.000000000","message":"Done","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7883d5517558927520b8a061f6daf39d30f2db71","unresolved":false,"context_lines":[{"line_number":23,"context_line":".. option:: --remote-id \u003cremote-id\u003e"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":26,"context_line":"    values)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":".. option:: --remote-id-file \u003cfile-name\u003e"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a80dd14_a513b5ff","line":26,"updated":"2015-03-19 06:34:01.000000000","message":"typo on repeate.\n\nUse \"(repeat for multiple values)\" for consistency with other docs","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4cd80b79a05d0b33d558a7c8f46decba20faaa21","unresolved":false,"context_lines":[{"line_number":23,"context_line":".. option:: --remote-id \u003cremote-id\u003e"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":26,"context_line":"    values)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":".. option:: --remote-id-file \u003cfile-name\u003e"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a80dd14_f5b2b147","line":26,"in_reply_to":"9a80dd14_a513b5ff","updated":"2015-03-19 10:39:57.000000000","message":"Done","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7883d5517558927520b8a061f6daf39d30f2db71","unresolved":false,"context_lines":[{"line_number":80,"context_line":".. code:: bash"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    os identity provider set"},{"line_number":83,"context_line":"        [--remote-id \u003cremote-id\u003e | --remote-id-file \u003cfile-name\u003e]"},{"line_number":84,"context_line":"        [--enable | --disable]"},{"line_number":85,"context_line":"        \u003cidentity-provider\u003e"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a80dd14_25dfc53b","line":83,"updated":"2015-03-19 06:34:01.000000000","message":"ditto","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4cd80b79a05d0b33d558a7c8f46decba20faaa21","unresolved":false,"context_lines":[{"line_number":80,"context_line":".. code:: bash"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    os identity provider set"},{"line_number":83,"context_line":"        [--remote-id \u003cremote-id\u003e | --remote-id-file \u003cfile-name\u003e]"},{"line_number":84,"context_line":"        [--enable | --disable]"},{"line_number":85,"context_line":"        \u003cidentity-provider\u003e"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a80dd14_5579bd80","line":83,"in_reply_to":"9a80dd14_25dfc53b","updated":"2015-03-19 10:39:57.000000000","message":"Done","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7883d5517558927520b8a061f6daf39d30f2db71","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":".. option:: --remote-id \u003cremote-id\u003e"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":90,"context_line":"    values)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":".. option:: --remote-id-file \u003cfile-name\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a80dd14_65e45d0d","line":89,"updated":"2015-03-19 06:34:01.000000000","message":"ditto","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4cd80b79a05d0b33d558a7c8f46decba20faaa21","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":".. option:: --remote-id \u003cremote-id\u003e"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    Entity IDs to associate with the Identity Provider (repeate to provide multiple"},{"line_number":90,"context_line":"    values)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":".. option:: --remote-id-file \u003cfile-name\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a80dd14_757ec16b","line":89,"in_reply_to":"9a80dd14_65e45d0d","updated":"2015-03-19 10:39:57.000000000","message":"Done","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"}],"openstackclient/identity/v3/identity_provider.py":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6de5ac8a14200bfda6ee23ed3d4fc5b047f6773d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            help\u003d\u0027New identity provider name (must be unique)\u0027"},{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027--remote_ids\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cremote_ids\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d\u0027Comma separated list of entity ID to associate with the\u0027"},{"line_number":42,"context_line":"                 \u0027 Identity Provider\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_2649aa8b","line":39,"updated":"2015-03-06 02:56:52.000000000","message":"Change the \u0027_\u0027 to a \u0027-\u0027 (dash).  Also, we generally don\u0027t use plurals, even when multiple items can be specified.  Often to get a list of the same thing we\u0027ll use multiple occurrences of the same option.  Look at how --property is handled in CreateProject for example.","commit_id":"77e4cb762c50e761182a630d207fa74706c45cc4"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4daf6573027abffcde4a2b7432751bb736db9909","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            help\u003d\u0027New identity provider name (must be unique)\u0027"},{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027--remote_ids\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cremote_ids\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d\u0027Comma separated list of entity ID to associate with the\u0027"},{"line_number":42,"context_line":"                 \u0027 Identity Provider\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_51af242a","line":39,"in_reply_to":"9a80dd14_2649aa8b","updated":"2015-03-06 12:08:27.000000000","message":"Replaced the \u0027_\u0027 with \u0027-\u0027. However, I have some problem to replace the value from a comma separated list to a repeated element as in \"--property\" because that is a dictionary whereas here is a list. Could you provide a reference to a command using a list parameter and not a dictionary?","commit_id":"77e4cb762c50e761182a630d207fa74706c45cc4"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"12ccf55a8e53055d1f8913c33fbdb9271f4d8ebd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            help\u003d\u0027New identity provider name (must be unique)\u0027"},{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027--remote_ids\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cremote_ids\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d\u0027Comma separated list of entity ID to associate with the\u0027"},{"line_number":42,"context_line":"                 \u0027 Identity Provider\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_7fa95c7a","line":39,"in_reply_to":"9a80dd14_2649aa8b","updated":"2015-03-06 07:50:42.000000000","message":"remote_ids is something we have in Keystone (it\u0027s essentually a list), also we will send such parameter in the HTTP request. Is there any way to avoid having specify multiple time \"remote_id\" ? In some cases this could grow to big numbers.\n\nAlso, I am wondering  whther either osc or keystoneclient should handle option like add/remove/delete where user specified --add-remote-id \u003cid\u003e and client will take care to actuall fetch existing list and update it (as it always needs to send whole list)","commit_id":"77e4cb762c50e761182a630d207fa74706c45cc4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"df792ae547ba1b50313ead8dc19f434f62437e47","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            help\u003d\u0027New identity provider name (must be unique)\u0027"},{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027--remote_ids\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cremote_ids\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d\u0027Comma separated list of entity ID to associate with the\u0027"},{"line_number":42,"context_line":"                 \u0027 Identity Provider\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_dab5f6ee","line":39,"in_reply_to":"9a80dd14_7fa95c7a","updated":"2015-03-06 08:12:58.000000000","message":"adding/remove a specific part of a list is pretty complex from a client side. I\u0027d rather a new API be available.\n\nOtherwise, in the case of an update, the client side should just do a replace of whatever\u0027s in the backend. It\u0027s a PUT operation, it\u0027ll update the resource with whatever you put there.","commit_id":"77e4cb762c50e761182a630d207fa74706c45cc4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6de5ac8a14200bfda6ee23ed3d4fc5b047f6773d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027--remote_ids\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cremote_ids\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d\u0027Comma separated list of entity ID to associate with the\u0027"},{"line_number":42,"context_line":"                 \u0027 Identity Provider\u0027"},{"line_number":43,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_a654ba21","line":40,"updated":"2015-03-06 02:56:52.000000000","message":"Change the \u0027_\u0027 to a \u0027-\u0027 (dash).","commit_id":"77e4cb762c50e761182a630d207fa74706c45cc4"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4daf6573027abffcde4a2b7432751bb736db9909","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027--remote_ids\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cremote_ids\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d\u0027Comma separated list of entity ID to associate with the\u0027"},{"line_number":42,"context_line":"                 \u0027 Identity Provider\u0027"},{"line_number":43,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_d11f946a","line":40,"in_reply_to":"9a80dd14_a654ba21","updated":"2015-03-06 12:08:27.000000000","message":"Done","commit_id":"77e4cb762c50e761182a630d207fa74706c45cc4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6de5ac8a14200bfda6ee23ed3d4fc5b047f6773d","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            help\u003d\u0027Identity provider to modify\u0027,"},{"line_number":130,"context_line":"        )"},{"line_number":131,"context_line":"        parser.add_argument("},{"line_number":132,"context_line":"            \u0027--remote_ids\u0027,"},{"line_number":133,"context_line":"            metavar\u003d\u0027\u003cremote_ids\u003e\u0027,"},{"line_number":134,"context_line":"            help\u003d\u0027Comma separated list of entity ID to associate with the\u0027"},{"line_number":135,"context_line":"                 \u0027 Identity Provider\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_c6328e0f","line":132,"updated":"2015-03-06 02:56:52.000000000","message":"Same comment as above here","commit_id":"77e4cb762c50e761182a630d207fa74706c45cc4"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4daf6573027abffcde4a2b7432751bb736db9909","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            help\u003d\u0027Identity provider to modify\u0027,"},{"line_number":130,"context_line":"        )"},{"line_number":131,"context_line":"        parser.add_argument("},{"line_number":132,"context_line":"            \u0027--remote_ids\u0027,"},{"line_number":133,"context_line":"            metavar\u003d\u0027\u003cremote_ids\u003e\u0027,"},{"line_number":134,"context_line":"            help\u003d\u0027Comma separated list of entity ID to associate with the\u0027"},{"line_number":135,"context_line":"                 \u0027 Identity Provider\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_510ba429","line":132,"in_reply_to":"9a80dd14_c6328e0f","updated":"2015-03-06 12:08:27.000000000","message":"Done","commit_id":"77e4cb762c50e761182a630d207fa74706c45cc4"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"b47f5c06e8047a78beff91b74c705b90fd6fa4e6","unresolved":false,"context_lines":[{"line_number":163,"context_line":"            if parsed_args.remote_ids else None"},{"line_number":164,"context_line":"        identity_provider \u003d federation_client.identity_providers.update("},{"line_number":165,"context_line":"            parsed_args.identity_provider,"},{"line_number":166,"context_line":"            remote_ids\u003dremote_ids,"},{"line_number":167,"context_line":"            enabled\u003denabled)"},{"line_number":168,"context_line":"        identity_provider._info.pop(\u0027links\u0027, None)"},{"line_number":169,"context_line":"        return zip(*sorted(six.iteritems(identity_provider._info)))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_686a5bef","line":166,"updated":"2015-03-07 02:37:30.000000000","message":"if the user didn\u0027t pass a remote_ids, it will be set to None.  The update operation will clear out the remote_ids.","commit_id":"1ac5807abe82dca28ebe861944beaeee0478900c"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"20f2ad9880b358cf1a4ddc85d819a96cfa8e5068","unresolved":false,"context_lines":[{"line_number":163,"context_line":"            if parsed_args.remote_ids else None"},{"line_number":164,"context_line":"        identity_provider \u003d federation_client.identity_providers.update("},{"line_number":165,"context_line":"            parsed_args.identity_provider,"},{"line_number":166,"context_line":"            remote_ids\u003dremote_ids,"},{"line_number":167,"context_line":"            enabled\u003denabled)"},{"line_number":168,"context_line":"        identity_provider._info.pop(\u0027links\u0027, None)"},{"line_number":169,"context_line":"        return zip(*sorted(six.iteritems(identity_provider._info)))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_53444c1a","line":166,"in_reply_to":"9a80dd14_686a5bef","updated":"2015-03-09 10:43:17.000000000","message":"Actually it is not the best approach but it is how the API work and how it is defined in the spec. No list means there is no filter for the IdP accessing the URL and that could be a requested behavior.  However, I think to write a new spec for a separate API to manage the IdP list but I am not sure for this release.","commit_id":"1ac5807abe82dca28ebe861944beaeee0478900c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"f851ee9bdd2429859779ed39a93d83bfb7575693","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    def take_action(self, parsed_args):"},{"line_number":66,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027, parsed_args)"},{"line_number":67,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":68,"context_line":"        remote_ids \u003d parsed_args.remote_id.split(\u0027,\u0027) \\"},{"line_number":69,"context_line":"            if parsed_args.remote_id else None"},{"line_number":70,"context_line":"        idp \u003d identity_client.federation.identity_providers.create("},{"line_number":71,"context_line":"            id\u003dparsed_args.identity_provider_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_8a7010a5","line":68,"updated":"2015-03-10 12:46:15.000000000","message":"maybe try wrapping in () :\n\nremoteids \u003d (parsed_args.remote_id.split(\u0027,\u0027)\n                     if parsed_args.remote_id else None)","commit_id":"ddcb60a77a401a332ed9bf93773ba919880bf460"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"35d4a023e16a659f987deee6ff90e353304ec079","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    def take_action(self, parsed_args):"},{"line_number":66,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027, parsed_args)"},{"line_number":67,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":68,"context_line":"        remote_ids \u003d parsed_args.remote_id.split(\u0027,\u0027) \\"},{"line_number":69,"context_line":"            if parsed_args.remote_id else None"},{"line_number":70,"context_line":"        idp \u003d identity_client.federation.identity_providers.create("},{"line_number":71,"context_line":"            id\u003dparsed_args.identity_provider_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_3b377400","line":68,"in_reply_to":"9a80dd14_8a7010a5","updated":"2015-03-10 14:58:14.000000000","message":"Done","commit_id":"ddcb60a77a401a332ed9bf93773ba919880bf460"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"f851ee9bdd2429859779ed39a93d83bfb7575693","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            return (None, None)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        remote_ids \u003d parsed_args.remote_id.split(\u0027,\u0027) \\"},{"line_number":163,"context_line":"            if parsed_args.remote_id else None"},{"line_number":164,"context_line":"        identity_provider \u003d federation_client.identity_providers.update("},{"line_number":165,"context_line":"            parsed_args.identity_provider,"},{"line_number":166,"context_line":"            remote_ids\u003dremote_ids,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_ca65a8e1","line":163,"updated":"2015-03-10 12:46:15.000000000","message":"same here","commit_id":"ddcb60a77a401a332ed9bf93773ba919880bf460"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"35d4a023e16a659f987deee6ff90e353304ec079","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            return (None, None)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        remote_ids \u003d parsed_args.remote_id.split(\u0027,\u0027) \\"},{"line_number":163,"context_line":"            if parsed_args.remote_id else None"},{"line_number":164,"context_line":"        identity_provider \u003d federation_client.identity_providers.update("},{"line_number":165,"context_line":"            parsed_args.identity_provider,"},{"line_number":166,"context_line":"            remote_ids\u003dremote_ids,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_7b3d6cdc","line":163,"in_reply_to":"9a80dd14_ca65a8e1","updated":"2015-03-10 14:58:14.000000000","message":"Done","commit_id":"ddcb60a77a401a332ed9bf93773ba919880bf460"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"f604f1ae78a912650aac5156af003e41883f3053","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from openstackclient.common import utils"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class _EntityReader(object):"},{"line_number":28,"context_line":"    \"\"\"Helper class capable of reading entity ids from files\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _read_entities(self, path):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_0913d20d","line":27,"updated":"2015-03-12 16:14:25.000000000","message":"Rename to _RemoteIdReader.","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"fbbd5a8dbd7092c83ead359ba152342c09a03404","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class _EntityReader(object):"},{"line_number":28,"context_line":"    \"\"\"Helper class capable of reading entity ids from files\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _read_entities(self, path):"},{"line_number":31,"context_line":"        \"\"\"Read entity ids from path"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        :param path: path to the file"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_4a05dcc0","line":30,"updated":"2015-03-12 01:59:36.000000000","message":"I wonder if we can just enhance utils.read_blob_file_contents() instead of writing a new one","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"bb377b6f325bf3298775fa04426d09c433b30fc9","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class _EntityReader(object):"},{"line_number":28,"context_line":"    \"\"\"Helper class capable of reading entity ids from files\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _read_entities(self, path):"},{"line_number":31,"context_line":"        \"\"\"Read entity ids from path"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        :param path: path to the file"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_28133e67","line":30,"in_reply_to":"9a80dd14_4a05dcc0","updated":"2015-03-12 16:57:51.000000000","message":"Converted the code to use this method","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"f604f1ae78a912650aac5156af003e41883f3053","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class _EntityReader(object):"},{"line_number":28,"context_line":"    \"\"\"Helper class capable of reading entity ids from files\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _read_entities(self, path):"},{"line_number":31,"context_line":"        \"\"\"Read entity ids from path"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        :param path: path to the file"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_26952540","line":30,"in_reply_to":"9a80dd14_4a05dcc0","updated":"2015-03-12 16:14:25.000000000","message":"very likely","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"fbbd5a8dbd7092c83ead359ba152342c09a03404","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        if parsed_args.file:"},{"line_number":98,"context_line":"            remote_ids \u003d self._read_entities(parsed_args.remote_id)"},{"line_number":99,"context_line":"        else:"},{"line_number":100,"context_line":"            remote_ids \u003d (parsed_args.remote_id.split(\u0027,\u0027)"},{"line_number":101,"context_line":"                          if parsed_args.remote_id else None)"},{"line_number":102,"context_line":"        idp \u003d identity_client.federation.identity_providers.create("},{"line_number":103,"context_line":"            id\u003dparsed_args.identity_provider_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_0abe84ff","line":100,"updated":"2015-03-12 01:59:36.000000000","message":"does this need to trim the values too or would keystone handle it?","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"bb377b6f325bf3298775fa04426d09c433b30fc9","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        if parsed_args.file:"},{"line_number":98,"context_line":"            remote_ids \u003d self._read_entities(parsed_args.remote_id)"},{"line_number":99,"context_line":"        else:"},{"line_number":100,"context_line":"            remote_ids \u003d (parsed_args.remote_id.split(\u0027,\u0027)"},{"line_number":101,"context_line":"                          if parsed_args.remote_id else None)"},{"line_number":102,"context_line":"        idp \u003d identity_client.federation.identity_providers.create("},{"line_number":103,"context_line":"            id\u003dparsed_args.identity_provider_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_68f8d67c","line":100,"in_reply_to":"9a80dd14_0abe84ff","updated":"2015-03-12 16:57:51.000000000","message":"Done","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"f604f1ae78a912650aac5156af003e41883f3053","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        if parsed_args.file:"},{"line_number":98,"context_line":"            remote_ids \u003d self._read_entities(parsed_args.remote_id)"},{"line_number":99,"context_line":"        else:"},{"line_number":100,"context_line":"            remote_ids \u003d (parsed_args.remote_id.split(\u0027,\u0027)"},{"line_number":101,"context_line":"                          if parsed_args.remote_id else None)"},{"line_number":102,"context_line":"        idp \u003d identity_client.federation.identity_providers.create("},{"line_number":103,"context_line":"            id\u003dparsed_args.identity_provider_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_69344ede","line":100,"in_reply_to":"9a80dd14_0abe84ff","updated":"2015-03-12 16:14:25.000000000","message":"not sure. \nAlso not sure whether we should trim it here or in ksc.","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"f604f1ae78a912650aac5156af003e41883f3053","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":172,"context_line":"            default\u003dFalse,"},{"line_number":173,"context_line":"            help\u003d\u0027If specified the --remote-id option require a filename\u0027"},{"line_number":174,"context_line":"                 \u0027 that contains a list of remote_id (one per line)\u0027"},{"line_number":175,"context_line":"        )"},{"line_number":176,"context_line":"        enable_identity_provider \u003d parser.add_mutually_exclusive_group()"},{"line_number":177,"context_line":"        enable_identity_provider.add_argument("}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_a93726af","line":174,"updated":"2015-03-12 16:14:25.000000000","message":"Maybe rephrase to:\n\n\"File with the remote-ids associated with the identity provider(requires --remote-id option to be specified)\"","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"bb377b6f325bf3298775fa04426d09c433b30fc9","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":172,"context_line":"            default\u003dFalse,"},{"line_number":173,"context_line":"            help\u003d\u0027If specified the --remote-id option require a filename\u0027"},{"line_number":174,"context_line":"                 \u0027 that contains a list of remote_id (one per line)\u0027"},{"line_number":175,"context_line":"        )"},{"line_number":176,"context_line":"        enable_identity_provider \u003d parser.add_mutually_exclusive_group()"},{"line_number":177,"context_line":"        enable_identity_provider.add_argument("}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_fc5d5a7a","line":174,"in_reply_to":"9a80dd14_a93726af","updated":"2015-03-12 16:57:51.000000000","message":"Done","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"cc64c2c661bdf9fe994de9c282cc627c36d983f7","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    def take_action(self, parsed_args):"},{"line_number":76,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027, parsed_args)"},{"line_number":77,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":78,"context_line":"        if parsed_args.file:"},{"line_number":79,"context_line":"            file_content \u003d utils.read_blob_file_contents("},{"line_number":80,"context_line":"                parsed_args.remote_id[0])"},{"line_number":81,"context_line":"            remote_ids \u003d file_content.splitlines()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_e569bf8c","line":78,"updated":"2015-03-16 16:37:41.000000000","message":"Add validation that remote_id is not empty","commit_id":"ac701314d424f156cbc4c27b3b7922289af11193"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6fe76ca908f0b0a7ae96ceaed28c780e473d3b1e","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        parser.add_argument("},{"line_number":148,"context_line":"            \u0027--remote-id\u0027,"},{"line_number":149,"context_line":"            metavar\u003d\u0027\u003cremote-ids\u003e\u0027,"},{"line_number":150,"context_line":"            nargs\u003d\u0027+\u0027,"},{"line_number":151,"context_line":"            help\u003d\u0027Entity ID to associate with the Identity Provider. Can have\u0027"},{"line_number":152,"context_line":"                 \u0027multiple values\u0027"},{"line_number":153,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_ac6974bf","line":150,"updated":"2015-03-16 15:29:29.000000000","message":"In most cases, OSC is allergic to nargs.  You\u0027ve seen why here.\n\nremove nargs, and add action\u003d\u0027append\u0027 and argparse will return a list of remote IDs from each --remote-id present:\n\n  --remote-id 123 --remote-id 456 --remote-id 789\n\nwill give you:\n\n  parsed_args.remote_id \u003d [\u0027123\u0027, \u0027456\u0027, \u0027789\u0027]","commit_id":"ac701314d424f156cbc4c27b3b7922289af11193"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6fe76ca908f0b0a7ae96ceaed28c780e473d3b1e","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                 \u0027multiple values\u0027"},{"line_number":153,"context_line":"        )"},{"line_number":154,"context_line":"        parser.add_argument("},{"line_number":155,"context_line":"            \u0027--file\u0027,"},{"line_number":156,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":157,"context_line":"            default\u003dFalse,"},{"line_number":158,"context_line":"            help\u003d\u0027When provided the --remote-id value will be the name of a \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_ac141444","line":155,"updated":"2015-03-16 15:29:29.000000000","message":"I\u0027m still on the fence with this one, --file with no other qualifier should refer to the command object, \u0027identity provider\u0027.  --remote-id-file is what I want to say, but I\u0027ll go with the consensus if this isn\u0027t confusing to users.","commit_id":"ac701314d424f156cbc4c27b3b7922289af11193"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"cc64c2c661bdf9fe994de9c282cc627c36d983f7","unresolved":false,"context_lines":[{"line_number":185,"context_line":"            self.log.error(\"No changes requested\")"},{"line_number":186,"context_line":"            return (None, None)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        if parsed_args.file:"},{"line_number":189,"context_line":"            file_content \u003d utils.read_blob_file_contents("},{"line_number":190,"context_line":"                parsed_args.remote_id[0])"},{"line_number":191,"context_line":"            remote_ids \u003d file_content.splitlines()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_250757cb","line":188,"updated":"2015-03-16 16:37:41.000000000","message":"Add validation that remote_id is not empty","commit_id":"ac701314d424f156cbc4c27b3b7922289af11193"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        identity_remote_id_provider \u003d parser.add_mutually_exclusive_group()"},{"line_number":39,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":40,"context_line":"            \u0027--remote-id\u0027,"},{"line_number":41,"context_line":"            metavar\u003d\u0027\u003cremote-ids\u003e\u0027,"},{"line_number":42,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":43,"context_line":"            help\u003d\u0027Entity ID to associate with the Identity Provider. Can be\u0027"},{"line_number":44,"context_line":"                 \u0027repeated multiple times\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_de8e13d0","line":41,"updated":"2015-03-17 15:17:53.000000000","message":"\u003cremote-id\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        identity_remote_id_provider \u003d parser.add_mutually_exclusive_group()"},{"line_number":39,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":40,"context_line":"            \u0027--remote-id\u0027,"},{"line_number":41,"context_line":"            metavar\u003d\u0027\u003cremote-ids\u003e\u0027,"},{"line_number":42,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":43,"context_line":"            help\u003d\u0027Entity ID to associate with the Identity Provider. Can be\u0027"},{"line_number":44,"context_line":"                 \u0027repeated multiple times\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_6b6c5d37","line":41,"in_reply_to":"9a80dd14_de8e13d0","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":47,"context_line":"            \u0027--remote-id-file\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cfile_name\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\u0027File contains a remote-id per line to associate with the \u0027"},{"line_number":50,"context_line":"                 \u0027identity provider\u0027"},{"line_number":51,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_5eba236f","line":48,"updated":"2015-03-17 15:17:53.000000000","message":"\u003cfile-name\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":47,"context_line":"            \u0027--remote-id-file\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cfile_name\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\u0027File contains a remote-id per line to associate with the \u0027"},{"line_number":50,"context_line":"                 \u0027identity provider\u0027"},{"line_number":51,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_8b67d150","line":48,"in_reply_to":"9a80dd14_5eba236f","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        identity_remote_id_provider \u003d parser.add_mutually_exclusive_group()"},{"line_number":146,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":147,"context_line":"            \u0027--remote-id\u0027,"},{"line_number":148,"context_line":"            metavar\u003d\u0027\u003cremote-ids\u003e\u0027,"},{"line_number":149,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":150,"context_line":"            help\u003d\u0027Entity ID to associate with the Identity Provider. Can be\u0027"},{"line_number":151,"context_line":"                 \u0027repeated multiple times\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_bea87f21","line":148,"updated":"2015-03-17 15:17:53.000000000","message":"\u003cremote-id\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        identity_remote_id_provider \u003d parser.add_mutually_exclusive_group()"},{"line_number":146,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":147,"context_line":"            \u0027--remote-id\u0027,"},{"line_number":148,"context_line":"            metavar\u003d\u0027\u003cremote-ids\u003e\u0027,"},{"line_number":149,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":150,"context_line":"            help\u003d\u0027Entity ID to associate with the Identity Provider. Can be\u0027"},{"line_number":151,"context_line":"                 \u0027repeated multiple times\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_cb71c90d","line":148,"in_reply_to":"9a80dd14_bea87f21","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b49c8df57a82ae4191f9070550487a68515119f","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        )"},{"line_number":153,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":154,"context_line":"            \u0027--remote-id-file\u0027,"},{"line_number":155,"context_line":"            metavar\u003d\u0027\u003cfile_name\u003e\u0027,"},{"line_number":156,"context_line":"            help\u003d\u0027File contains a remote-id per line to associate with the \u0027"},{"line_number":157,"context_line":"                 \u0027identity provider\u0027"},{"line_number":158,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_dea53348","line":155,"updated":"2015-03-17 15:17:53.000000000","message":"\u003cfile-name\u003e","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"45380acd4ad2327de7a9eca200049925648e1654","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        )"},{"line_number":153,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":154,"context_line":"            \u0027--remote-id-file\u0027,"},{"line_number":155,"context_line":"            metavar\u003d\u0027\u003cfile_name\u003e\u0027,"},{"line_number":156,"context_line":"            help\u003d\u0027File contains a remote-id per line to associate with the \u0027"},{"line_number":157,"context_line":"                 \u0027identity provider\u0027"},{"line_number":158,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_eb5f6d73","line":155,"in_reply_to":"9a80dd14_dea53348","updated":"2015-03-18 10:49:28.000000000","message":"Done","commit_id":"e3832f43dad66e26b0edf7b4555e81e17bcb69d1"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7883d5517558927520b8a061f6daf39d30f2db71","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            metavar\u003d\u0027\u003cremote-id\u003e\u0027,"},{"line_number":42,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":43,"context_line":"            help\u003d\u0027Entity ID to associate with the Identity Provider. Can be\u0027"},{"line_number":44,"context_line":"                 \u0027repeated multiple times\u0027"},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":47,"context_line":"            \u0027--remote-id-file\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_05b1e100","line":44,"updated":"2015-03-19 06:34:01.000000000","message":"match help with the description in docs\n\nsame for the other three below","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4cd80b79a05d0b33d558a7c8f46decba20faaa21","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            metavar\u003d\u0027\u003cremote-id\u003e\u0027,"},{"line_number":42,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":43,"context_line":"            help\u003d\u0027Entity ID to associate with the Identity Provider. Can be\u0027"},{"line_number":44,"context_line":"                 \u0027repeated multiple times\u0027"},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":47,"context_line":"            \u0027--remote-id-file\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_155f45e6","line":44,"in_reply_to":"9a80dd14_05b1e100","updated":"2015-03-19 10:39:57.000000000","message":"Done","commit_id":"3eef292346274d0e784eaa3dffb5a32892c93300"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"6c4d9c4e37fb9889c6a3c2e440a4f505e789d594","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            \u0027--remote-id\u0027,"},{"line_number":41,"context_line":"            metavar\u003d\u0027\u003cremote-id\u003e\u0027,"},{"line_number":42,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":43,"context_line":"            help\u003d\u0027Entity IDs to associate with the Identity Provider \u0027"},{"line_number":44,"context_line":"                 \u0027(repeat for provide multiple values)\u0027"},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        identity_remote_id_provider.add_argument("}],"source_content_type":"text/x-python","patch_set":12,"id":"da9b358b_6ae72641","line":43,"updated":"2015-03-28 08:04:49.000000000","message":"Use Remote IDs instead of Entity IDs, this will keep it consistent with the help message for the -file option","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"597277039d821acdbd4076efd194577a132361af","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            \u0027--remote-id\u0027,"},{"line_number":41,"context_line":"            metavar\u003d\u0027\u003cremote-id\u003e\u0027,"},{"line_number":42,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":43,"context_line":"            help\u003d\u0027Entity IDs to associate with the Identity Provider \u0027"},{"line_number":44,"context_line":"                 \u0027(repeat for provide multiple values)\u0027"},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        identity_remote_id_provider.add_argument("}],"source_content_type":"text/x-python","patch_set":12,"id":"da9b358b_5d2c184a","line":43,"in_reply_to":"da9b358b_6ae72641","updated":"2015-03-30 10:10:48.000000000","message":"Done","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"6c4d9c4e37fb9889c6a3c2e440a4f505e789d594","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":47,"context_line":"            \u0027--remote-id-file\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cfile-name\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\u0027Name of a file contains a remote-id per \u0027"},{"line_number":50,"context_line":"                 \u0027line to associate with the identity provider\u0027"},{"line_number":51,"context_line":"        )"},{"line_number":52,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":12,"id":"da9b358b_caf752f4","line":49,"updated":"2015-03-28 08:04:49.000000000","message":"minor suggestion:\n\nName of a file that contains many remote IDs to associate with the identity provider, one per line.","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"597277039d821acdbd4076efd194577a132361af","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        identity_remote_id_provider.add_argument("},{"line_number":47,"context_line":"            \u0027--remote-id-file\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cfile-name\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\u0027Name of a file contains a remote-id per \u0027"},{"line_number":50,"context_line":"                 \u0027line to associate with the identity provider\u0027"},{"line_number":51,"context_line":"        )"},{"line_number":52,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":12,"id":"da9b358b_bde4440d","line":49,"in_reply_to":"da9b358b_caf752f4","updated":"2015-03-30 10:10:48.000000000","message":"Done","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"1f63dc7821cbb5bd9961f64396be7bac00c8d1f5","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            enabled \u003d True"},{"line_number":178,"context_line":"        elif parsed_args.disable is True:"},{"line_number":179,"context_line":"            enabled \u003d False"},{"line_number":180,"context_line":"        elif not parsed_args.remote_id:"},{"line_number":181,"context_line":"            self.log.error(\"No changes requested\")"},{"line_number":182,"context_line":"            return (None, None)"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa963961_765fe372","line":180,"updated":"2015-03-27 18:44:39.000000000","message":"and not parsed_args.remote_id_file  too?","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"6c4d9c4e37fb9889c6a3c2e440a4f505e789d594","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            enabled \u003d True"},{"line_number":178,"context_line":"        elif parsed_args.disable is True:"},{"line_number":179,"context_line":"            enabled \u003d False"},{"line_number":180,"context_line":"        elif not parsed_args.remote_id:"},{"line_number":181,"context_line":"            self.log.error(\"No changes requested\")"},{"line_number":182,"context_line":"            return (None, None)"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da9b358b_8a3eeab6","line":180,"updated":"2015-03-28 08:04:49.000000000","message":"this should actually be a separate if statement.\n\n  steve:python-openstackclient$ openstack identity provider set bp --remote-id my3\n  ERROR: openstack local variable \u0027enabled\u0027 referenced before assignment","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"597277039d821acdbd4076efd194577a132361af","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            enabled \u003d True"},{"line_number":178,"context_line":"        elif parsed_args.disable is True:"},{"line_number":179,"context_line":"            enabled \u003d False"},{"line_number":180,"context_line":"        elif not parsed_args.remote_id:"},{"line_number":181,"context_line":"            self.log.error(\"No changes requested\")"},{"line_number":182,"context_line":"            return (None, None)"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da9b358b_fda08b92","line":180,"in_reply_to":"da9b358b_8a3eeab6","updated":"2015-03-30 10:10:48.000000000","message":"I change it but modifying the code below where the variable are used. I am not sure if python allows for a more elegant solution but for now the problem with the not initialised variable should be solved","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4e4b814fc0f811135202483ea8e6b255f9d09634","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            enabled \u003d True"},{"line_number":178,"context_line":"        elif parsed_args.disable is True:"},{"line_number":179,"context_line":"            enabled \u003d False"},{"line_number":180,"context_line":"        elif not parsed_args.remote_id:"},{"line_number":181,"context_line":"            self.log.error(\"No changes requested\")"},{"line_number":182,"context_line":"            return (None, None)"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da9b358b_4a48e25b","line":180,"in_reply_to":"fa963961_765fe372","updated":"2015-03-28 07:56:31.000000000","message":"Done","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e9944cb2a1e1c153206a33ac87063f7ca10ed1af","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            return (None, None)"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        if parsed_args.remote_id_file:"},{"line_number":185,"context_line":"            file_content \u003d utils.read_blob_file_contents("},{"line_number":186,"context_line":"                parsed_args.remote_id_file)"},{"line_number":187,"context_line":"            remote_ids \u003d file_content.splitlines()"},{"line_number":188,"context_line":"            remote_ids \u003d list(map(str.strip, remote_ids))"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa963961_7dd1fecc","line":185,"updated":"2015-03-27 21:30:08.000000000","message":"these lines can be made into a private helper function, and shared with create","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"4e4b814fc0f811135202483ea8e6b255f9d09634","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            return (None, None)"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        if parsed_args.remote_id_file:"},{"line_number":185,"context_line":"            file_content \u003d utils.read_blob_file_contents("},{"line_number":186,"context_line":"                parsed_args.remote_id_file)"},{"line_number":187,"context_line":"            remote_ids \u003d file_content.splitlines()"},{"line_number":188,"context_line":"            remote_ids \u003d list(map(str.strip, remote_ids))"}],"source_content_type":"text/x-python","patch_set":12,"id":"da9b358b_2a747e9a","line":185,"in_reply_to":"fa963961_7dd1fecc","updated":"2015-03-28 07:56:31.000000000","message":"The create is slightly different. It is possible to create and helper function but I am not sure how much of an improvement it could be","commit_id":"5ca8ead66614236944f1000ce0f858860da9bac6"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"706cc38702f9f314d93d6f0beac2c8a5b677d0bf","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        federation_client \u003d self.app.client_manager.identity.federation"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        # Basic argument checking"},{"line_number":177,"context_line":"        if (not parsed_args.enable and not parsed_args.disable and not"},{"line_number":178,"context_line":"                parsed_args.remote_id and not parsed_args.remote_id_file):"},{"line_number":179,"context_line":"            self.log.error(\u0027No changes requested\u0027)"},{"line_number":180,"context_line":"            return (None, None)"}],"source_content_type":"text/x-python","patch_set":15,"id":"da9b358b_53eaa410","line":177,"updated":"2015-03-31 05:07:11.000000000","message":"\"not\" should probably on the next line for readability","commit_id":"6a9d6af225097969eacd376c7af298d906e40d95"}],"openstackclient/tests/identity/v3/test_identity_provider.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"fbbd5a8dbd7092c83ead359ba152342c09a03404","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#   under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from openstackclient.identity.v3 import identity_provider"},{"line_number":19,"context_line":"from openstackclient.tests import fakes"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_361bb481","line":16,"updated":"2015-03-12 01:59:36.000000000","message":"mock is a third party lib, should be on separate group of imports","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"f604f1ae78a912650aac5156af003e41883f3053","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#   under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from openstackclient.identity.v3 import identity_provider"},{"line_number":19,"context_line":"from openstackclient.tests import fakes"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_e9dd9e43","line":16,"in_reply_to":"9a80dd14_361bb481","updated":"2015-03-12 16:14:25.000000000","message":"++","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":10335,"name":"Marco Fargetta","email":"marco.fargetta@ct.infn.it","username":"fmarco76"},"change_message_id":"bb377b6f325bf3298775fa04426d09c433b30fc9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#   under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from openstackclient.identity.v3 import identity_provider"},{"line_number":19,"context_line":"from openstackclient.tests import fakes"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_c3b44537","line":16,"in_reply_to":"9a80dd14_361bb481","updated":"2015-03-12 16:57:51.000000000","message":"Done","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"fbbd5a8dbd7092c83ead359ba152342c09a03404","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def test_create_identity_provider_remote_ids(self):"},{"line_number":110,"context_line":"        arglist \u003d ["},{"line_number":111,"context_line":"            \u0027--remote-id\u0027, identity_fakes.idp_remote_ids,"},{"line_number":112,"context_line":"            identity_fakes.idp_id,"},{"line_number":113,"context_line":"        ]"},{"line_number":114,"context_line":"        verifylist \u003d ["}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_aa23b8a5","line":111,"updated":"2015-03-12 01:59:36.000000000","message":"Should we also try bad values for remote_ids too?","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"f604f1ae78a912650aac5156af003e41883f3053","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def test_create_identity_provider_remote_ids(self):"},{"line_number":110,"context_line":"        arglist \u003d ["},{"line_number":111,"context_line":"            \u0027--remote-id\u0027, identity_fakes.idp_remote_ids,"},{"line_number":112,"context_line":"            identity_fakes.idp_id,"},{"line_number":113,"context_line":"        ]"},{"line_number":114,"context_line":"        verifylist \u003d ["}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_a9a1e6aa","line":111,"in_reply_to":"9a80dd14_aa23b8a5","updated":"2015-03-12 16:14:25.000000000","message":"unless we have functional tests  enabled ... osc doesn\u0027t do much of the validation, does it?","commit_id":"02fe579ea158edd71ead19b461d799008cf62d19"}]}
