)]}'
{"openstack/network/v2/_proxy.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"8ea2cfd495b1805a311f75066efc17a0068263c0","unresolved":false,"context_lines":[{"line_number":650,"context_line":"        \"\"\""},{"line_number":651,"context_line":"        return self._create(pool_member.PoolMember, **attrs)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    def delete_pool_member(self, value, pool_id, ignore_missing\u003dTrue):"},{"line_number":654,"context_line":"        \"\"\"Delete a pool member"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"        :param value: The value can be either the ID of a pool member or a"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_8153d416","line":653,"updated":"2015-06-23 14:04:10.000000000","message":"In this case I think we should have \"member, pool\" instead of \"value, pool\" so it\u0027s more clear. We don\u0027t want to enforce passing an actual id for any of these since callers should be able to send in a Pool resource instance.\n\nThe only thing you\u0027ll have to worry about is that pool is imported as pool, so you may want to change the import to _pool and then be careful to switch other uses of it (like in create_pool)","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"},{"author":{"_account_id":11034,"name":"Yanyan Hu","email":"huyanyan84@gmail.com","username":"yanyanhu"},"change_message_id":"66822289cfd157435ef1c353c84010677b6aab4c","unresolved":false,"context_lines":[{"line_number":650,"context_line":"        \"\"\""},{"line_number":651,"context_line":"        return self._create(pool_member.PoolMember, **attrs)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    def delete_pool_member(self, value, pool_id, ignore_missing\u003dTrue):"},{"line_number":654,"context_line":"        \"\"\"Delete a pool member"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"        :param value: The value can be either the ID of a pool member or a"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_97c8da56","line":653,"in_reply_to":"fa32b979_8153d416","updated":"2015-06-24 07:40:03.000000000","message":"Will change. Thanks.","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"8ea2cfd495b1805a311f75066efc17a0068263c0","unresolved":false,"context_lines":[{"line_number":666,"context_line":"        :returns: ``None``"},{"line_number":667,"context_line":"        \"\"\""},{"line_number":668,"context_line":"        self._delete(pool_member.PoolMember, value,"},{"line_number":669,"context_line":"                     path_args\u003d{\u0027pool_id\u0027: pool_id},"},{"line_number":670,"context_line":"                     ignore_missing\u003dignore_missing)"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def find_pool_member(self, name_or_id, pool_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_c1e1dc2b","line":669,"updated":"2015-06-23 14:04:10.000000000","message":"On a line above this you should do something like ``pool \u003d pool.Pool.from_id(pool)`` in order to convert either a string id or an actual Pool instance safely into a real Pool. Then in this path_args you can set pool.id in the dict.","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"},{"author":{"_account_id":11034,"name":"Yanyan Hu","email":"huyanyan84@gmail.com","username":"yanyanhu"},"change_message_id":"66822289cfd157435ef1c353c84010677b6aab4c","unresolved":false,"context_lines":[{"line_number":666,"context_line":"        :returns: ``None``"},{"line_number":667,"context_line":"        \"\"\""},{"line_number":668,"context_line":"        self._delete(pool_member.PoolMember, value,"},{"line_number":669,"context_line":"                     path_args\u003d{\u0027pool_id\u0027: pool_id},"},{"line_number":670,"context_line":"                     ignore_missing\u003dignore_missing)"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def find_pool_member(self, name_or_id, pool_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_a3f7dcd1","line":669,"in_reply_to":"fa32b979_c1e1dc2b","updated":"2015-06-24 07:40:03.000000000","message":"Done","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"8ea2cfd495b1805a311f75066efc17a0068263c0","unresolved":false,"context_lines":[{"line_number":669,"context_line":"                     path_args\u003d{\u0027pool_id\u0027: pool_id},"},{"line_number":670,"context_line":"                     ignore_missing\u003dignore_missing)"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def find_pool_member(self, name_or_id, pool_id):"},{"line_number":673,"context_line":"        \"\"\"Find a single pool member"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":"        :param name_or_id: The name or ID of a pool member."}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_2123e859","line":672,"updated":"2015-06-23 14:04:10.000000000","message":"Same with this one and the ones below, should probably be \"member, pool\" with the same from_id call.","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"},{"author":{"_account_id":11034,"name":"Yanyan Hu","email":"huyanyan84@gmail.com","username":"yanyanhu"},"change_message_id":"66822289cfd157435ef1c353c84010677b6aab4c","unresolved":false,"context_lines":[{"line_number":669,"context_line":"                     path_args\u003d{\u0027pool_id\u0027: pool_id},"},{"line_number":670,"context_line":"                     ignore_missing\u003dignore_missing)"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def find_pool_member(self, name_or_id, pool_id):"},{"line_number":673,"context_line":"        \"\"\"Find a single pool member"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":"        :param name_or_id: The name or ID of a pool member."}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_63fd54b0","line":672,"in_reply_to":"fa32b979_2123e859","updated":"2015-06-24 07:40:03.000000000","message":"Done","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"}],"openstack/tests/unit/test_proxy_base.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"8ea2cfd495b1805a311f75066efc17a0068263c0","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                      expected_args\u003d[resource_type, \"resource_or_id\"],"},{"line_number":93,"context_line":"                      expected_kwargs\u003d{\"ignore_missing\": ignore})"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def verify_delete2(self, test_method, resource_type, ignore, path_args,"},{"line_number":96,"context_line":"                       mock_method\u003d\"openstack.proxy.BaseProxy._delete\"):"},{"line_number":97,"context_line":"        method_kwargs \u003d {\"ignore_missing\": ignore}"},{"line_number":98,"context_line":"        for key in path_args:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_c170fc42","line":95,"updated":"2015-06-23 14:04:10.000000000","message":"Now that we just refactored to remove the duplicate deletes and are still trying to clean a few remaining ones up, can this change be made to verify_delete so we don\u0027t need to go in and refactor these tests yet again? You should be able to add path_args\u003dNone to the verify_delete and accomplish what you need here.","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"},{"author":{"_account_id":11034,"name":"Yanyan Hu","email":"huyanyan84@gmail.com","username":"yanyanhu"},"change_message_id":"66822289cfd157435ef1c353c84010677b6aab4c","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                      expected_args\u003d[resource_type, \"resource_or_id\"],"},{"line_number":93,"context_line":"                      expected_kwargs\u003d{\"ignore_missing\": ignore})"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def verify_delete2(self, test_method, resource_type, ignore, path_args,"},{"line_number":96,"context_line":"                       mock_method\u003d\"openstack.proxy.BaseProxy._delete\"):"},{"line_number":97,"context_line":"        method_kwargs \u003d {\"ignore_missing\": ignore}"},{"line_number":98,"context_line":"        for key in path_args:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_385c5a18","line":95,"in_reply_to":"fa32b979_c170fc42","updated":"2015-06-24 07:40:03.000000000","message":"Done","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"8ea2cfd495b1805a311f75066efc17a0068263c0","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                     expected_args\u003d[\"name_or_id\"], expected_result\u003d\"result\","},{"line_number":138,"context_line":"                     **kwargs)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def verify_find2(self, mock_method, test_method, path_args, **kwargs):"},{"line_number":141,"context_line":"        method_args \u003d [\"name_or_id\"]"},{"line_number":142,"context_line":"        for key in path_args:"},{"line_number":143,"context_line":"            method_args.append(path_args[key])"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_21ad2884","line":140,"updated":"2015-06-23 14:04:10.000000000","message":"You can leave this one in, as find implementation and tests are going to be changing soon anyway.","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"},{"author":{"_account_id":11034,"name":"Yanyan Hu","email":"huyanyan84@gmail.com","username":"yanyanhu"},"change_message_id":"66822289cfd157435ef1c353c84010677b6aab4c","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                     expected_args\u003d[\"name_or_id\"], expected_result\u003d\"result\","},{"line_number":138,"context_line":"                     **kwargs)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def verify_find2(self, mock_method, test_method, path_args, **kwargs):"},{"line_number":141,"context_line":"        method_args \u003d [\"name_or_id\"]"},{"line_number":142,"context_line":"        for key in path_args:"},{"line_number":143,"context_line":"            method_args.append(path_args[key])"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_d8744e9d","line":140,"in_reply_to":"fa32b979_21ad2884","updated":"2015-06-24 07:40:03.000000000","message":"Done","commit_id":"b67c4d120398c5e85b99f26d3e0d06031d4df357"}]}
