)]}'
{"openstackclient/identity/v3/federation_protocol.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ccf4edb37edfa7acf17b621735d64191c5bfb4f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"baa201ad_ef6bddee","updated":"2014-10-03 15:28:20.000000000","message":"In general, drop ID from Mapping ID and Identity Provider ID.","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ccf4edb37edfa7acf17b621735d64191c5bfb4f3","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class CreateProtocol(show.ShowOne):"},{"line_number":28,"context_line":"    \"\"\"Create new Federation Protocol tied to a Identity Provider\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027CreateProtocol\u0027)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_4f8869c5","line":28,"updated":"2014-10-03 15:28:20.000000000","message":"an*","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"1f9b5decd9026604b73acd9d9223b97fab4c3011","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class CreateProtocol(show.ShowOne):"},{"line_number":28,"context_line":"    \"\"\"Create new Federation Protocol tied to a Identity Provider\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027CreateProtocol\u0027)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_da0c15f0","line":28,"in_reply_to":"baa201ad_4f8869c5","updated":"2014-10-03 16:53:02.000000000","message":"Done","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ccf4edb37edfa7acf17b621735d64191c5bfb4f3","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":37,"context_line":"            help\u003d\u0027Protocol ID (must be unique per Identity Provider\u0027)"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cidentity-provider\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":42,"context_line":"                  \u0027(must already exist)\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_cfc379eb","line":39,"updated":"2014-10-03 15:28:20.000000000","message":"change this to start with --","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"1f9b5decd9026604b73acd9d9223b97fab4c3011","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":37,"context_line":"            help\u003d\u0027Protocol ID (must be unique per Identity Provider\u0027)"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cidentity-provider\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":42,"context_line":"                  \u0027(must already exist)\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_7aefa9e9","line":39,"in_reply_to":"baa201ad_cfc379eb","updated":"2014-10-03 16:53:02.000000000","message":"Done","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ccf4edb37edfa7acf17b621735d64191c5bfb4f3","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cidentity-provider\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":42,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":43,"context_line":"        parser.add_argument("},{"line_number":44,"context_line":"            \u0027mapping\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_6f91adf0","line":41,"updated":"2014-10-03 15:28:20.000000000","message":"add required\u003dTrue here\n\nalso drop ID from here.","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ccf4edb37edfa7acf17b621735d64191c5bfb4f3","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":42,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":43,"context_line":"        parser.add_argument("},{"line_number":44,"context_line":"            \u0027mapping\u0027,"},{"line_number":45,"context_line":"            metavar\u003d\u0027\u003cmapping\u003e\u0027,"},{"line_number":46,"context_line":"            help\u003d\u0027Mapping id you want to be used (must already exist)\u0027)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_2fb24594","line":44,"updated":"2014-10-03 15:28:20.000000000","message":"same comments here, add a -- here, and set required \u003dTrue","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"1f9b5decd9026604b73acd9d9223b97fab4c3011","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":42,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":43,"context_line":"        parser.add_argument("},{"line_number":44,"context_line":"            \u0027mapping\u0027,"},{"line_number":45,"context_line":"            metavar\u003d\u0027\u003cmapping\u003e\u0027,"},{"line_number":46,"context_line":"            help\u003d\u0027Mapping id you want to be used (must already exist)\u0027)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_7a18891e","line":44,"in_reply_to":"baa201ad_2fb24594","updated":"2014-10-03 16:53:02.000000000","message":"Done","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ccf4edb37edfa7acf17b621735d64191c5bfb4f3","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        parser.add_argument("},{"line_number":44,"context_line":"            \u0027mapping\u0027,"},{"line_number":45,"context_line":"            metavar\u003d\u0027\u003cmapping\u003e\u0027,"},{"line_number":46,"context_line":"            help\u003d\u0027Mapping id you want to be used (must already exist)\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        return parser"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_8fa5f148","line":46,"updated":"2014-10-03 15:28:20.000000000","message":"drop ID from here","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"1f9b5decd9026604b73acd9d9223b97fab4c3011","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        parser.add_argument("},{"line_number":44,"context_line":"            \u0027mapping\u0027,"},{"line_number":45,"context_line":"            metavar\u003d\u0027\u003cmapping\u003e\u0027,"},{"line_number":46,"context_line":"            help\u003d\u0027Mapping id you want to be used (must already exist)\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        return parser"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_1ae13dfe","line":46,"in_reply_to":"baa201ad_8fa5f148","updated":"2014-10-03 16:53:02.000000000","message":"Done","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ccf4edb37edfa7acf17b621735d64191c5bfb4f3","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"class DeleteProtocol(command.Command):"},{"line_number":67,"context_line":"    \"\"\"Delete Federation Protocol tied to a Identity Provider\"\"\""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.DeleteProtocol\u0027)"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_2f7965c8","line":67,"updated":"2014-10-03 15:28:20.000000000","message":"an*  (in other help spots too)","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"1f9b5decd9026604b73acd9d9223b97fab4c3011","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"class DeleteProtocol(command.Command):"},{"line_number":67,"context_line":"    \"\"\"Delete Federation Protocol tied to a Identity Provider\"\"\""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.DeleteProtocol\u0027)"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_5af825c3","line":67,"in_reply_to":"baa201ad_2f7965c8","updated":"2014-10-03 16:53:02.000000000","message":"Done","commit_id":"37aba61a88b1be3ee92f7c0a5c3b10bc36548279"}],"openstackclient/identity/v3/protocol.py":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"3ef0dffe72c50e3631997038543ef294d9e54fc7","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        parser \u003d super(CreateProtocol, self).get_parser(prog_name)"},{"line_number":34,"context_line":"        parser.add_argument("},{"line_number":35,"context_line":"            \u0027protocol_id\u0027,"},{"line_number":36,"context_line":"            metavar\u003d\u0027\u003cprotocol_id\u003e\u0027,"},{"line_number":37,"context_line":"            help\u003d\u0027Protocol ID (must be unique per Identity Provider\u0027)"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027identity_provider\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_212515ab","line":36,"updated":"2014-10-02 16:27:42.000000000","message":"metavars should never have underscores in them\n\nAlso, create should not use \u0027ID\u0027 as that implies a UUID or similar auto-generated thing.  If this is like the mapping and it is a user-supplied value that is also used as the uniqueue key, then call it \u0027protocol-name\u0027 or just \u0027name\u0027 to be consistent with the rest of OSC.","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8b65f9465ca0747f07e3b7067d5d7815992e5f9f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        parser \u003d super(CreateProtocol, self).get_parser(prog_name)"},{"line_number":34,"context_line":"        parser.add_argument("},{"line_number":35,"context_line":"            \u0027protocol_id\u0027,"},{"line_number":36,"context_line":"            metavar\u003d\u0027\u003cprotocol_id\u003e\u0027,"},{"line_number":37,"context_line":"            help\u003d\u0027Protocol ID (must be unique per Identity Provider\u0027)"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027identity_provider\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_d3424d0f","line":36,"in_reply_to":"baa201ad_212515ab","updated":"2014-10-03 07:45:13.000000000","message":"allright.\nSo just to undersatand it correctly: what is the purpose of metavar?\nShall I also rename idp and mapping metavars to name in this (and the other patches) ?","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"3ef0dffe72c50e3631997038543ef294d9e54fc7","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            help\u003d\u0027Protocol ID (must be unique per Identity Provider\u0027)"},{"line_number":38,"context_line":"        parser.add_argument("},{"line_number":39,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":40,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":41,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":42,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":43,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_a13025e9","line":40,"updated":"2014-10-02 16:27:42.000000000","message":"change -_- -\u003e \u0027-\u0027","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"30b38320bc699899f05b703c2e827e59f540d338","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        parser.add_argument("},{"line_number":44,"context_line":"            \u0027mapping\u0027,"},{"line_number":45,"context_line":"            metavar\u003d\u0027\u003cmapping\u003e\u0027,"},{"line_number":46,"context_line":"            help\u003d\u0027Mapping id you want to be used (must already exist)\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        return parser"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_3a40da55","line":46,"updated":"2014-10-02 18:39:25.000000000","message":"drop \u0027id\u0027","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"30b38320bc699899f05b703c2e827e59f540d338","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        # from Keystone, however it should be listed to the user. Add it"},{"line_number":60,"context_line":"        # manually to the output list, simply reusing value provided by the"},{"line_number":61,"context_line":"        # user."},{"line_number":62,"context_line":"        info[\u0027identity_provider\u0027] \u003d parsed_args.identity_provider"},{"line_number":63,"context_line":"        return zip(*sorted(six.iteritems(info)))"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_9a30e602","line":62,"updated":"2014-10-02 18:39:25.000000000","message":"i don\u0027t recall if the mapping is also mentioned... if it\u0027s not, maybe add that too.","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"3ef0dffe72c50e3631997038543ef294d9e54fc7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            help\u003d\u0027Protocol ID (must be unique per Identity Provider\u0027)"},{"line_number":77,"context_line":"        parser.add_argument("},{"line_number":78,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":79,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":80,"context_line":"            help\u003d\u0027Identity Provider ID the Protocol is tied to\u0027)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_613d5dbb","line":79,"updated":"2014-10-02 16:27:42.000000000","message":"change -_- -\u003e \u0027-\u0027","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8b65f9465ca0747f07e3b7067d5d7815992e5f9f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            help\u003d\u0027Protocol ID (must be unique per Identity Provider\u0027)"},{"line_number":77,"context_line":"        parser.add_argument("},{"line_number":78,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":79,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":80,"context_line":"            help\u003d\u0027Identity Provider ID the Protocol is tied to\u0027)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_73ffe1aa","line":79,"in_reply_to":"baa201ad_613d5dbb","updated":"2014-10-03 07:45:13.000000000","message":"Done","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"3ef0dffe72c50e3631997038543ef294d9e54fc7","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        parser \u003d super(ListProtocols, self).get_parser(prog_name)"},{"line_number":99,"context_line":"        parser.add_argument("},{"line_number":100,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":101,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":102,"context_line":"            help\u003d\u0027Identity Provider ID the Protocol is tied to\u0027)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_814c0172","line":101,"updated":"2014-10-02 16:27:42.000000000","message":"change -_- -\u003e \u0027-\u0027","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8b65f9465ca0747f07e3b7067d5d7815992e5f9f","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        parser \u003d super(ListProtocols, self).get_parser(prog_name)"},{"line_number":99,"context_line":"        parser.add_argument("},{"line_number":100,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":101,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":102,"context_line":"            help\u003d\u0027Identity Provider ID the Protocol is tied to\u0027)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_932d2549","line":101,"in_reply_to":"baa201ad_814c0172","updated":"2014-10-03 07:45:13.000000000","message":"Done","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"3ef0dffe72c50e3631997038543ef294d9e54fc7","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        parser \u003d super(SetProtocol, self).get_parser(prog_name)"},{"line_number":123,"context_line":"        parser.add_argument("},{"line_number":124,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":125,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":126,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":127,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":128,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_c1752999","line":125,"updated":"2014-10-02 16:27:42.000000000","message":"change -_- -\u003e \u0027-\u0027","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8b65f9465ca0747f07e3b7067d5d7815992e5f9f","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        parser \u003d super(SetProtocol, self).get_parser(prog_name)"},{"line_number":123,"context_line":"        parser.add_argument("},{"line_number":124,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":125,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":126,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":127,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":128,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_b330699f","line":125,"in_reply_to":"baa201ad_c1752999","updated":"2014-10-03 07:45:13.000000000","message":"Done","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"3ef0dffe72c50e3631997038543ef294d9e54fc7","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":126,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":127,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":128,"context_line":"        parser.add_argument("},{"line_number":129,"context_line":"            \u0027protocol\u0027,"},{"line_number":130,"context_line":"            metavar\u003d\u0027\u003cprotocol\u003e\u0027,"},{"line_number":131,"context_line":"            help\u003d\u0027Protocol ID (must be unique per Identity Provider\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_416939bd","line":128,"updated":"2014-10-02 16:27:42.000000000","message":"protocol should be listed first here","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8b65f9465ca0747f07e3b7067d5d7815992e5f9f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":126,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":127,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":128,"context_line":"        parser.add_argument("},{"line_number":129,"context_line":"            \u0027protocol\u0027,"},{"line_number":130,"context_line":"            metavar\u003d\u0027\u003cprotocol\u003e\u0027,"},{"line_number":131,"context_line":"            help\u003d\u0027Protocol ID (must be unique per Identity Provider\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_13e855e1","line":128,"in_reply_to":"baa201ad_416939bd","updated":"2014-10-03 07:45:13.000000000","message":"I moved it, but i was simply following the order of arguments passed to the keystoneclient method, and the order is : identity_provider, protocol, mapping.\nThis is mainly because protocol is always tied to a Identity Provider.","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"3ef0dffe72c50e3631997038543ef294d9e54fc7","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        # from Keystone, however it should be listed to the user. Add it"},{"line_number":147,"context_line":"        # manually to the output list, simply reusing value provided by the"},{"line_number":148,"context_line":"        # user."},{"line_number":149,"context_line":"        info[\u0027identity_provider\u0027] \u003d parsed_args.identity_provider"},{"line_number":150,"context_line":"        return zip(*sorted(six.iteritems(info)))"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_61471d1e","line":149,"updated":"2014-10-02 16:27:42.000000000","message":"This is fine, but is there a case where the user-supplied value with be different from what Keystone actually has?  ie, differences in case or anything similar?","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8b65f9465ca0747f07e3b7067d5d7815992e5f9f","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        # from Keystone, however it should be listed to the user. Add it"},{"line_number":147,"context_line":"        # manually to the output list, simply reusing value provided by the"},{"line_number":148,"context_line":"        # user."},{"line_number":149,"context_line":"        info[\u0027identity_provider\u0027] \u003d parsed_args.identity_provider"},{"line_number":150,"context_line":"        return zip(*sorted(six.iteritems(info)))"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_f32af12a","line":149,"in_reply_to":"baa201ad_1a14f64c","updated":"2014-10-03 07:45:13.000000000","message":"++ Steve\u0027s answer.","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"30b38320bc699899f05b703c2e827e59f540d338","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        # from Keystone, however it should be listed to the user. Add it"},{"line_number":147,"context_line":"        # manually to the output list, simply reusing value provided by the"},{"line_number":148,"context_line":"        # user."},{"line_number":149,"context_line":"        info[\u0027identity_provider\u0027] \u003d parsed_args.identity_provider"},{"line_number":150,"context_line":"        return zip(*sorted(six.iteritems(info)))"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_1a14f64c","line":149,"in_reply_to":"baa201ad_61471d1e","updated":"2014-10-02 18:39:25.000000000","message":"nope.","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"3ef0dffe72c50e3631997038543ef294d9e54fc7","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        parser \u003d super(ShowProtocol, self).get_parser(prog_name)"},{"line_number":160,"context_line":"        parser.add_argument("},{"line_number":161,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":162,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":163,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":164,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":165,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_2181954a","line":162,"updated":"2014-10-02 16:27:42.000000000","message":"change -_- -\u003e \u0027-\u0027","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8b65f9465ca0747f07e3b7067d5d7815992e5f9f","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        parser \u003d super(ShowProtocol, self).get_parser(prog_name)"},{"line_number":160,"context_line":"        parser.add_argument("},{"line_number":161,"context_line":"            \u0027identity_provider\u0027,"},{"line_number":162,"context_line":"            metavar\u003d\u0027\u003cidentity_provider\u003e\u0027,"},{"line_number":163,"context_line":"            help\u003d(\u0027Identity Provider ID you want to add the Protocol to \u0027"},{"line_number":164,"context_line":"                  \u0027(must already exist)\u0027))"},{"line_number":165,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_1321354d","line":162,"in_reply_to":"baa201ad_2181954a","updated":"2014-10-03 07:45:13.000000000","message":"Done","commit_id":"de25fb33bf8af9fade43643d720de542dc7a8a6c"}]}
