)]}'
{"keystoneclient/tests/v3/test_federation.py":[{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"0b0b2429b40e6b74e2553a9d31d5c23f27bfb812","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                req_ref[attr],"},{"line_number":103,"context_line":"                \u0027Expected different %s\u0027 % attr)"},{"line_number":104,"context_line":"        self.assertEntityRequestBodyIs(req_ref)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def test_list(self, **kwargs):"},{"line_number":107,"context_line":"        pass"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BMzA%3D","line":105,"updated":"2014-03-28 13:32:25.000000000","message":"We don\u0027t handle list() operations. Any better way to disable , how can i skip this test in the keystoneclient?","commit_id":"7f08b59f22b7ce01d21b560029c3bbe6a24b6821"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"7814b06f20a5724e5dbc3bb752bc01d562ab09ff","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                req_ref[attr],"},{"line_number":103,"context_line":"                \u0027Expected different %s\u0027 % attr)"},{"line_number":104,"context_line":"        self.assertEntityRequestBodyIs(req_ref)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def test_list(self, **kwargs):"},{"line_number":107,"context_line":"        pass"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BKso%3D","line":105,"in_reply_to":"AAAAWH%2F%2BMzA%3D","updated":"2014-03-28 17:11:27.000000000","message":"erm, discard it, i missed one entry in the API spec.","commit_id":"7f08b59f22b7ce01d21b560029c3bbe6a24b6821"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"0b0b2429b40e6b74e2553a9d31d5c23f27bfb812","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    def test_list(self, **kwargs):"},{"line_number":107,"context_line":"        pass"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def test_list_params(self, **kwargs):"},{"line_number":110,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BMyc%3D","line":109,"updated":"2014-03-28 13:32:25.000000000","message":"We don\u0027t handle list() operations. Any better way to disable , how can i skip this test in the keystoneclient?","commit_id":"7f08b59f22b7ce01d21b560029c3bbe6a24b6821"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5135a6384cfdbcca47c916f48a9150016ad06afa","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import httpretty"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from keystoneclient.tests.v3 import utils"},{"line_number":19,"context_line":"from keystoneclient.v3.contrib.federation import identity_providers"},{"line_number":20,"context_line":"from keystoneclient.v3.contrib.federation import mappings"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FkPg%3D","line":18,"updated":"2014-04-12 14:21:56.000000000","message":"revert the whitespace change on previous line.","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"02532db89581aede5b8cd4eb2f910d245bf346d5","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import httpretty"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from keystoneclient.tests.v3 import utils"},{"line_number":19,"context_line":"from keystoneclient.v3.contrib.federation import identity_providers"},{"line_number":20,"context_line":"from keystoneclient.v3.contrib.federation import mappings"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FiLw%3D","line":18,"in_reply_to":"AAAAW3%2F%2FkPg%3D","updated":"2014-04-13 16:16:49.000000000","message":"Done","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5135a6384cfdbcca47c916f48a9150016ad06afa","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                getattr(returned, attr),"},{"line_number":126,"context_line":"                req_ref[attr],"},{"line_number":127,"context_line":"                \u0027Expected different %s\u0027 % attr)"},{"line_number":128,"context_line":"        self.assertEntityRequestBodyIs(manager_ref)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FkPU%3D","line":128,"updated":"2014-04-12 14:21:56.000000000","message":"why was req_ref used at line 88?","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"02532db89581aede5b8cd4eb2f910d245bf346d5","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                getattr(returned, attr),"},{"line_number":126,"context_line":"                req_ref[attr],"},{"line_number":127,"context_line":"                \u0027Expected different %s\u0027 % attr)"},{"line_number":128,"context_line":"        self.assertEntityRequestBodyIs(manager_ref)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FiE8%3D","line":128,"in_reply_to":"AAAAW3%2F%2FkPU%3D","updated":"2014-04-13 16:16:49.000000000","message":"assertEntityRequestBodyIs() check the request being sent to the \u0027server\u0027. The request should not contain the \u0027id\u0027 attribute, whereas the response should. req_ref is an instance with \u0027id\u0027 popped.","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"}],"keystoneclient/v3/contrib/federation/mappings.py":[{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"0b0b2429b40e6b74e2553a9d31d5c23f27bfb812","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            mapping_id\u003dbase.getid(mapping),"},{"line_number":47,"context_line":"            **kwargs)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def list(self, **kwargs):"},{"line_number":50,"context_line":"        pass"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def update(self, mapping, rules\u003d[], **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BMyE%3D","line":49,"updated":"2014-03-28 13:32:25.000000000","message":"We don\u0027t handle list() operations. Any better way to disable this in keystoneclient?","commit_id":"7f08b59f22b7ce01d21b560029c3bbe6a24b6821"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"7814b06f20a5724e5dbc3bb752bc01d562ab09ff","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            mapping_id\u003dbase.getid(mapping),"},{"line_number":47,"context_line":"            **kwargs)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def list(self, **kwargs):"},{"line_number":50,"context_line":"        pass"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def update(self, mapping, rules\u003d[], **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BKsc%3D","line":49,"in_reply_to":"AAAAWH%2F%2BMyE%3D","updated":"2014-03-28 17:11:27.000000000","message":"discard.","commit_id":"7f08b59f22b7ce01d21b560029c3bbe6a24b6821"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"71c3b235c89fa52b473ceb7e427bd456683bd8f7","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class MappingManager(base.CrudManager):"},{"line_number":21,"context_line":"    \"\"\"Manager class for manipulating Identity Providers.\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    resource_class \u003d Mapping"},{"line_number":24,"context_line":"    collection_key \u003d \u0027mappings\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BK5w%3D","line":21,"updated":"2014-03-28 17:05:09.000000000","message":"s/Identity Providers/Mappings","commit_id":"4bcab6407b6e3ce595475a7ef220c20f3166dc8f"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"71c3b235c89fa52b473ceb7e427bd456683bd8f7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                            response_key\u003dself.key,"},{"line_number":33,"context_line":"                            method\u003d\u0027PUT\u0027)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def create(self, mapping\u003dNone, rules\u003d[], **kwargs):"},{"line_number":36,"context_line":"        return self._put("},{"line_number":37,"context_line":"            mapping_id\u003dbase.getid(mapping), rules\u003drules, **kwargs)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BKxM%3D","line":35,"updated":"2014-03-28 17:05:09.000000000","message":"I think the better way to handle rules would be like how credentials does it: \nhttps://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/v3/credentials.py#L52\n\njust pass in a json object, and let the server side handle the error handling","commit_id":"4bcab6407b6e3ce595475a7ef220c20f3166dc8f"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8c22b5b16ad977a6f03a1eb828aa6a223210106f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                            response_key\u003dself.key,"},{"line_number":33,"context_line":"                            method\u003d\u0027PUT\u0027)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def create(self, mapping\u003dNone, rules\u003d[], **kwargs):"},{"line_number":36,"context_line":"        return self._put("},{"line_number":37,"context_line":"            mapping_id\u003dbase.getid(mapping), rules\u003drules, **kwargs)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BI3Y%3D","line":35,"in_reply_to":"AAAAWH%2F%2BKxM%3D","updated":"2014-03-28 21:11:46.000000000","message":"hmmm, to be honest I don\u0027t really see your point. Could you try explaiining a little bit more?","commit_id":"4bcab6407b6e3ce595475a7ef220c20f3166dc8f"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1d6cd1d7c41bf57f69402afbb73f4285753dfe30","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class Mapping(base.Resource):"},{"line_number":19,"context_line":"    pass"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class MappingManager(base.CrudManager):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F91EI%3D","line":19,"updated":"2014-04-01 20:36:19.000000000","message":"i think listing the parameters here would be good, emphasis on id\u0027s being user-defined.","commit_id":"1ab8bf2ff3a88aba726539ec00dc159b6bea94ab"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"402d3575fe6e99652d8916d8d6f915e98994f699","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class Mapping(base.Resource):"},{"line_number":19,"context_line":"    pass"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class MappingManager(base.CrudManager):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9xhY%3D","line":19,"in_reply_to":"AAAAWH%2F91EI%3D","updated":"2014-04-02 08:26:38.000000000","message":"Done","commit_id":"1ab8bf2ff3a88aba726539ec00dc159b6bea94ab"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1d6cd1d7c41bf57f69402afbb73f4285753dfe30","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        \"\"\"Create Mapping object."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        Utilize Keystone URI:"},{"line_number":41,"context_line":"        PUT /OS-FEDERATION/mappings"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        :param mapping: an object with mapping id stored inside."},{"line_number":44,"context_line":"        :param rules: list of mapping rules to be sent to the server."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F91Ew%3D","line":41,"updated":"2014-04-01 20:36:19.000000000","message":"PUT /OS-FEDERATION/mappings/$mapping_id ?","commit_id":"1ab8bf2ff3a88aba726539ec00dc159b6bea94ab"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"402d3575fe6e99652d8916d8d6f915e98994f699","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        \"\"\"Create Mapping object."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        Utilize Keystone URI:"},{"line_number":41,"context_line":"        PUT /OS-FEDERATION/mappings"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        :param mapping: an object with mapping id stored inside."},{"line_number":44,"context_line":"        :param rules: list of mapping rules to be sent to the server."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9xhg%3D","line":41,"in_reply_to":"AAAAWH%2F91Ew%3D","updated":"2014-04-02 08:26:38.000000000","message":"Done","commit_id":"1ab8bf2ff3a88aba726539ec00dc159b6bea94ab"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1d6cd1d7c41bf57f69402afbb73f4285753dfe30","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        return self._put("},{"line_number":48,"context_line":"            mapping_id\u003dbase.getid(mapping), rules\u003djson.dumps(rules), **kwargs)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def get(self, mapping, **kwargs):"},{"line_number":51,"context_line":"        \"\"\"Fetch Mapping object identified by mapping id."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F91Aw%3D","line":48,"updated":"2014-04-01 20:36:19.000000000","message":"So, this already happens in the request call, so leave it as JSON object here.\n\nhttps://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/session.py#L209","commit_id":"1ab8bf2ff3a88aba726539ec00dc159b6bea94ab"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"402d3575fe6e99652d8916d8d6f915e98994f699","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        return self._put("},{"line_number":48,"context_line":"            mapping_id\u003dbase.getid(mapping), rules\u003djson.dumps(rules), **kwargs)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def get(self, mapping, **kwargs):"},{"line_number":51,"context_line":"        \"\"\"Fetch Mapping object identified by mapping id."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9xhk%3D","line":48,"in_reply_to":"AAAAWH%2F91Aw%3D","updated":"2014-04-02 08:26:38.000000000","message":"Done","commit_id":"1ab8bf2ff3a88aba726539ec00dc159b6bea94ab"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5135a6384cfdbcca47c916f48a9150016ad06afa","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class Mapping(base.Resource):"},{"line_number":18,"context_line":"    \"\"\"An object represeting Mapping container."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    Attributes:"},{"line_number":21,"context_line":"        * id: user-defined unique string identyfying Mapping."}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FkPQ%3D","line":18,"updated":"2014-04-12 14:21:56.000000000","message":"change \"represeting\" to \"representing\"","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"02532db89581aede5b8cd4eb2f910d245bf346d5","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class Mapping(base.Resource):"},{"line_number":18,"context_line":"    \"\"\"An object represeting Mapping container."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    Attributes:"},{"line_number":21,"context_line":"        * id: user-defined unique string identyfying Mapping."}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FiKw%3D","line":18,"in_reply_to":"AAAAW3%2F%2FkPQ%3D","updated":"2014-04-13 16:16:49.000000000","message":"Done","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5135a6384cfdbcca47c916f48a9150016ad06afa","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    \"\"\"An object represeting Mapping container."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    Attributes:"},{"line_number":21,"context_line":"        * id: user-defined unique string identyfying Mapping."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    \"\"\""},{"line_number":24,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FkPM%3D","line":21,"updated":"2014-04-12 14:21:56.000000000","message":"change \"identyfying\" to \"identifying\".\n\nAlso, lowercase mapping.","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"02532db89581aede5b8cd4eb2f910d245bf346d5","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    \"\"\"An object represeting Mapping container."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    Attributes:"},{"line_number":21,"context_line":"        * id: user-defined unique string identyfying Mapping."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    \"\"\""},{"line_number":24,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FiKk%3D","line":21,"in_reply_to":"AAAAW3%2F%2FkPM%3D","updated":"2014-04-13 16:16:49.000000000","message":"Done","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5135a6384cfdbcca47c916f48a9150016ad06afa","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class MappingManager(base.CrudManager):"},{"line_number":28,"context_line":"    \"\"\"Manager class for manipulating Identity Providers.\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    resource_class \u003d Mapping"},{"line_number":31,"context_line":"    collection_key \u003d \u0027mappings\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FkPI%3D","line":28,"updated":"2014-04-12 14:21:56.000000000","message":"change \"Identity Providers\" to \"federation mappings\"","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"02532db89581aede5b8cd4eb2f910d245bf346d5","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class MappingManager(base.CrudManager):"},{"line_number":28,"context_line":"    \"\"\"Manager class for manipulating Identity Providers.\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    resource_class \u003d Mapping"},{"line_number":31,"context_line":"    collection_key \u003d \u0027mappings\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FiKY%3D","line":28,"in_reply_to":"AAAAW3%2F%2FkPI%3D","updated":"2014-04-13 16:16:49.000000000","message":"Done","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5135a6384cfdbcca47c916f48a9150016ad06afa","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @utils.positional.method(0)"},{"line_number":43,"context_line":"    def create(self, id, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Create Mapping object."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        Utilize Keystone URI:"},{"line_number":47,"context_line":"        PUT /OS-FEDERATION/mappings/$mapping_id"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FkOw%3D","line":44,"updated":"2014-04-12 14:21:56.000000000","message":"lowercase mapping. This applies to all these docstrings.","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"02532db89581aede5b8cd4eb2f910d245bf346d5","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @utils.positional.method(0)"},{"line_number":43,"context_line":"    def create(self, id, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Create Mapping object."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        Utilize Keystone URI:"},{"line_number":47,"context_line":"        PUT /OS-FEDERATION/mappings/$mapping_id"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FiKM%3D","line":44,"in_reply_to":"AAAAW3%2F%2FkOw%3D","updated":"2014-04-13 16:16:49.000000000","message":"Done","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5135a6384cfdbcca47c916f48a9150016ad06afa","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def create(self, id, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Create Mapping object."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        Utilize Keystone URI:"},{"line_number":47,"context_line":"        PUT /OS-FEDERATION/mappings/$mapping_id"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param id: an object with mapping id stored inside."}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FkPA%3D","line":46,"updated":"2014-04-12 14:21:56.000000000","message":"change \"Keystone\" to \"Identity API\". Also, the following is an operation and not a URI.\n\nThis comment applies to all these docstrings.","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"02532db89581aede5b8cd4eb2f910d245bf346d5","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def create(self, id, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Create Mapping object."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        Utilize Keystone URI:"},{"line_number":47,"context_line":"        PUT /OS-FEDERATION/mappings/$mapping_id"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param id: an object with mapping id stored inside."}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FiJ8%3D","line":46,"in_reply_to":"AAAAW3%2F%2FkPA%3D","updated":"2014-04-13 16:16:49.000000000","message":"Done","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5135a6384cfdbcca47c916f48a9150016ad06afa","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        PUT /OS-FEDERATION/mappings/$mapping_id"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param id: an object with mapping id stored inside."},{"line_number":50,"context_line":"        :param rules: (stored in kwargs) list of mapping rules"},{"line_number":51,"context_line":"                      to be sent to the server."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FkO4%3D","line":50,"updated":"2014-04-12 14:21:56.000000000","message":"what do they look like? we\u0027ll need an example.","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"02532db89581aede5b8cd4eb2f910d245bf346d5","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        PUT /OS-FEDERATION/mappings/$mapping_id"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param id: an object with mapping id stored inside."},{"line_number":50,"context_line":"        :param rules: (stored in kwargs) list of mapping rules"},{"line_number":51,"context_line":"                      to be sent to the server."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FiHM%3D","line":50,"in_reply_to":"AAAAW3%2F%2FkO4%3D","updated":"2014-04-13 16:16:49.000000000","message":"Will copy from existing examples/docs.","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5135a6384cfdbcca47c916f48a9150016ad06afa","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        Utilize Keystone URI:"},{"line_number":61,"context_line":"        GET /OS-FEDERATION/mappings/$mapping_id"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        :param mapping: an object with mapping id stored inside."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        \"\"\""},{"line_number":66,"context_line":"        return super(MappingManager, self).get("}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FkOs%3D","line":63,"updated":"2014-04-12 14:21:56.000000000","message":"I have no idea how to use this. What does this mean?","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"02532db89581aede5b8cd4eb2f910d245bf346d5","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        Utilize Keystone URI:"},{"line_number":61,"context_line":"        GET /OS-FEDERATION/mappings/$mapping_id"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        :param mapping: an object with mapping id stored inside."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        \"\"\""},{"line_number":66,"context_line":"        return super(MappingManager, self).get("}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FiIE%3D","line":63,"in_reply_to":"AAAAW3%2F%2FkOs%3D","updated":"2014-04-13 16:16:49.000000000","message":"\u0027mapping\u0027 should be an instance of the Mapping type (or general base.Resource). I will update the docstrings to clearly mention that.","commit_id":"dc52736e037c8cae12dec9270de157d221823f85"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"14a376a3b0f03697731a6b9d9d761f715b0fc29d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                            method\u003d\u0027PUT\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @utils.positional.method(0)"},{"line_number":43,"context_line":"    def create(self, id, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Create federation mapping."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        Utilize Identity API operation:"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAW3%2F%2FhE4%3D","line":43,"updated":"2014-04-14 02:41:16.000000000","message":"suggest not using \"id\" and use mapping_id here as to not mask the built-in \"id\"","commit_id":"522bbd3b2b2b7c14dba965887a7beedf689f892f"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"14a376a3b0f03697731a6b9d9d761f715b0fc29d","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                    }"},{"line_number":77,"context_line":"                ]"},{"line_number":78,"context_line":"            }"},{"line_number":79,"context_line":"        }"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        \"\"\""},{"line_number":82,"context_line":"        return self._build_url_and_put("}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAW3%2F%2FhD8%3D","line":79,"updated":"2014-04-14 02:41:16.000000000","message":"This doesn\u0027t look like valid RST (is it supposed to be RST?). I believe you need the example itself to be indented and an extra \u0027:\u0027 after content\n\nsee: http://docs-draft.openstack.org/42/83742/13/check/gate-python-keystoneclient-docs/635767a/doc/build/html/api/keystoneclient.v3.contrib.federation.html#id1","commit_id":"522bbd3b2b2b7c14dba965887a7beedf689f892f"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"14a376a3b0f03697731a6b9d9d761f715b0fc29d","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                    }"},{"line_number":141,"context_line":"                ]"},{"line_number":142,"context_line":"            }"},{"line_number":143,"context_line":"        }"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        \"\"\""},{"line_number":146,"context_line":"        return super(MappingManager, self).update("}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAW3%2F%2FhD0%3D","line":143,"updated":"2014-04-14 02:41:16.000000000","message":"same comment as above","commit_id":"522bbd3b2b2b7c14dba965887a7beedf689f892f"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"216c83133f23e9463afeef6070b70d54af2f0116","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                            method\u003d\u0027PUT\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @utils.positional.method(0)"},{"line_number":43,"context_line":"    def create(self, mapping_id, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Create federation mapping."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        Utilize Identity API operation:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAW3%2F%2FYhA%3D","line":43,"updated":"2014-04-15 00:44:56.000000000","message":"nit: i know it masks a function but i like these with just id\u003d because you know it\u0027s a mapping already.\n\nyou should mention rules here as an argument.","commit_id":"91914c79be27cf15b7b99ed96c4581c4fc2d7611"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5242d6a83321d7146b50ae92f44201e7b54e1be8","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                            method\u003d\u0027PUT\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @utils.positional.method(0)"},{"line_number":43,"context_line":"    def create(self, mapping_id, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Create federation mapping."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        Utilize Identity API operation:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAW3%2F%2FWlo%3D","line":43,"in_reply_to":"AAAAW3%2F%2FYhA%3D","updated":"2014-04-15 08:03:48.000000000","message":"I thought you once said all object\u0027s attributes should be taken from kwargs. Personally I would change general signature of those functions to just accept a dictionary with attributes that will be sent in the request body. All the other extra params, used in build_url or things like that should be store at most in the separated disctionary. Otherwise it\u0027s very confusing.","commit_id":"91914c79be27cf15b7b99ed96c4581c4fc2d7611"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1530bd7c1498f814b88d021419f4fe9637fd2091","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param mapping_id: user defined string identifier of the federation"},{"line_number":50,"context_line":"            mapping."},{"line_number":51,"context_line":"        :param rules: a JSON dictionary with list a list"},{"line_number":52,"context_line":"            of mapping rules."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        Example of the ``rules``::"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAW3%2F%2FYhw%3D","line":51,"updated":"2014-04-15 00:44:02.000000000","message":"change \"list a list\" to \"a list\" (remove extra \"list\")","commit_id":"91914c79be27cf15b7b99ed96c4581c4fc2d7611"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1530bd7c1498f814b88d021419f4fe9637fd2091","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        Utilize Identity API operation:"},{"line_number":89,"context_line":"        GET /OS-FEDERATION/mappings/$mapping_id"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        :param mapping: a Mapping type object with mapping id"},{"line_number":92,"context_line":"            stored inside."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAW3%2F%2FYg8%3D","line":91,"updated":"2014-04-15 00:44:02.000000000","message":"this should be a reference (link) to the class.","commit_id":"91914c79be27cf15b7b99ed96c4581c4fc2d7611"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1530bd7c1498f814b88d021419f4fe9637fd2091","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        Utilize Identity API operation:"},{"line_number":111,"context_line":"        PATCH /OS-FEDERATION/mappings/$mapping_id"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        :param mapping: a Mapping type object with mapping id"},{"line_number":114,"context_line":"            stored inside."},{"line_number":115,"context_line":"        :param rules: a JSON dictionary with list a list"},{"line_number":116,"context_line":"            of mapping rules."}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAW3%2F%2FYgs%3D","line":113,"updated":"2014-04-15 00:44:02.000000000","message":"should be a link to the class.","commit_id":"91914c79be27cf15b7b99ed96c4581c4fc2d7611"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1530bd7c1498f814b88d021419f4fe9637fd2091","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        :param mapping: a Mapping type object with mapping id"},{"line_number":114,"context_line":"            stored inside."},{"line_number":115,"context_line":"        :param rules: a JSON dictionary with list a list"},{"line_number":116,"context_line":"            of mapping rules."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        Example of the ``rules``::"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAW3%2F%2FYhk%3D","line":115,"updated":"2014-04-15 00:44:02.000000000","message":"change \"list a list\" to \"a list\" (remove extra \"list\")","commit_id":"91914c79be27cf15b7b99ed96c4581c4fc2d7611"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1530bd7c1498f814b88d021419f4fe9637fd2091","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        :param rules: a JSON dictionary with list a list"},{"line_number":116,"context_line":"            of mapping rules."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        Example of the ``rules``::"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"            {"},{"line_number":121,"context_line":"                \"mapping\": {"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAW3%2F%2FYhY%3D","line":118,"updated":"2014-04-15 00:44:02.000000000","message":"the example mapping rules should be consolidated to one place to eliminate duplication.","commit_id":"91914c79be27cf15b7b99ed96c4581c4fc2d7611"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1530bd7c1498f814b88d021419f4fe9637fd2091","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        Utilize Identity API operation:"},{"line_number":153,"context_line":"        DELETE /OS-FEDERATION/mappings/$mapping_id"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        :param mapping: a Mapping type object with mapping id"},{"line_number":156,"context_line":"            stored inside."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAW3%2F%2FYgo%3D","line":155,"updated":"2014-04-15 00:44:02.000000000","message":"should be a link to the class.","commit_id":"91914c79be27cf15b7b99ed96c4581c4fc2d7611"}]}
