)]}'
{"openstackclient/compute/v2/server.py":[{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"cbb1656c997c6626d7b13c901b85207e3eee9e4f","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                nic_info \u003d {\"net-id\": \"\", \"v4-fixed-ip\": \"\","},{"line_number":653,"context_line":"                            \"v6-fixed-ip\": \"\", \"port-id\": \"\"}"},{"line_number":654,"context_line":"                for kv_str in nic_str.split(\",\"):"},{"line_number":655,"context_line":"                    if \"\u003d\" not in kv_str:"},{"line_number":656,"context_line":"                        msg \u003d _(\"missing value for key \u0027%s\u0027\")"},{"line_number":657,"context_line":"                        raise exceptions.CommandError(msg % kv_str)"},{"line_number":658,"context_line":"                    k, v \u003d kv_str.split(\"\u003d\", 1)"},{"line_number":659,"context_line":"                    if k in nic_info:"},{"line_number":660,"context_line":"                        nic_info[k] \u003d v"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_810c0b3c","line":657,"range":{"start_line":655,"start_character":0,"end_line":657,"end_character":67},"updated":"2017-06-20 11:48:44.000000000","message":"We can use partition() to get both key and value in the string, then check key valid and value exist, like following, then we can merge this two CommandError together, clean and more readable.\n\n    for kv_str in nic_str.split(\",\"):\n        k, sep, v \u003d kv_str.partition(\"\u003d\")\n        if k in nic_info and v:\n            nic_info[k] \u003d v\n        else:\n            msg \u003d (_(\"Invalid nic argument \u0027%s\u0027. Nic arguments \"\n                     \"must be of the form --nic \u003cnet-id\u003dnet-uuid\"\n                     \",v4-fixed-ip\u003dip-addr,v6-fixed-ip\u003dip-addr,\"\n                     \"port-id\u003dport-uuid\u003e.\"))\n            raise exceptions.CommandError(msg % k)","commit_id":"71423a25dfa55cbda6cc241f6a2eb418a20df723"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"cbb1656c997c6626d7b13c901b85207e3eee9e4f","unresolved":false,"context_lines":[{"line_number":659,"context_line":"                    if k in nic_info:"},{"line_number":660,"context_line":"                        nic_info[k] \u003d v"},{"line_number":661,"context_line":"                    else:"},{"line_number":662,"context_line":"                        msg \u003d (_(\"Invalid nic argument \u0027%s\u0027. Nic arguments\""},{"line_number":663,"context_line":"                                 \"must be of the form --nic \u003cnet-id\u003dnet-uuid\""},{"line_number":664,"context_line":"                                 \",v4-fixed-ip\u003dip-addr,v6-fixed-ip\u003dip-addr,\""},{"line_number":665,"context_line":"                                 \"port-id\u003dport-uuid\u003e, with only one of \""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_0e44aab6","line":662,"updated":"2017-06-20 11:48:44.000000000","message":"Add blank at the end.","commit_id":"71423a25dfa55cbda6cc241f6a2eb418a20df723"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"cbb1656c997c6626d7b13c901b85207e3eee9e4f","unresolved":false,"context_lines":[{"line_number":662,"context_line":"                        msg \u003d (_(\"Invalid nic argument \u0027%s\u0027. Nic arguments\""},{"line_number":663,"context_line":"                                 \"must be of the form --nic \u003cnet-id\u003dnet-uuid\""},{"line_number":664,"context_line":"                                 \",v4-fixed-ip\u003dip-addr,v6-fixed-ip\u003dip-addr,\""},{"line_number":665,"context_line":"                                 \"port-id\u003dport-uuid\u003e, with only one of \""},{"line_number":666,"context_line":"                                 \"net-id or port-id specified.\"))"},{"line_number":667,"context_line":"                        raise exceptions.CommandError(msg % k)"},{"line_number":668,"context_line":"                if bool(nic_info[\"net-id\"]) \u003d\u003d bool(nic_info[\"port-id\"]):"},{"line_number":669,"context_line":"                    msg \u003d _(\"either network or port should be specified \""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_61968f97","line":666,"range":{"start_line":665,"start_character":52,"end_line":666,"end_character":62},"updated":"2017-06-20 11:48:44.000000000","message":"The above logic didn\u0027t check the rule, so we don\u0027t need to mention it, and the following \"if\" will do it.","commit_id":"71423a25dfa55cbda6cc241f6a2eb418a20df723"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"cbb1656c997c6626d7b13c901b85207e3eee9e4f","unresolved":false,"context_lines":[{"line_number":666,"context_line":"                                 \"net-id or port-id specified.\"))"},{"line_number":667,"context_line":"                        raise exceptions.CommandError(msg % k)"},{"line_number":668,"context_line":"                if bool(nic_info[\"net-id\"]) \u003d\u003d bool(nic_info[\"port-id\"]):"},{"line_number":669,"context_line":"                    msg \u003d _(\"either network or port should be specified \""},{"line_number":670,"context_line":"                            \"but not both\")"},{"line_number":671,"context_line":"                    raise exceptions.CommandError(msg)"},{"line_number":672,"context_line":"                if self.app.client_manager.is_network_endpoint_enabled():"},{"line_number":673,"context_line":"                    network_client \u003d self.app.client_manager.network"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_018d9b7a","line":670,"range":{"start_line":669,"start_character":29,"end_line":670,"end_character":41},"updated":"2017-06-20 11:48:44.000000000","message":"here","commit_id":"71423a25dfa55cbda6cc241f6a2eb418a20df723"}],"openstackclient/tests/unit/compute/v2/test_server.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"48359e69a23c8693e1ddc58d2d834324d3082d21","unresolved":false,"context_lines":[{"line_number":785,"context_line":"        verifylist \u003d ["},{"line_number":786,"context_line":"            (\u0027image\u0027, \u0027image1\u0027),"},{"line_number":787,"context_line":"            (\u0027flavor\u0027, \u0027flavor1\u0027),"},{"line_number":788,"context_line":"            (\u0027nic\u0027, [\u0027abcdefgh\u003d12324\u0027]),"},{"line_number":789,"context_line":"            (\u0027config_drive\u0027, False),"},{"line_number":790,"context_line":"            (\u0027server_name\u0027, self.new_server.name),"},{"line_number":791,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_ea11d605","line":788,"updated":"2017-06-15 08:54:36.000000000","message":"you should check both cases: invalid nic value (previous case), invalid key (current case)","commit_id":"c6f1752acda0bfdbc46fa6996500e320fe55f27f"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"cbb1656c997c6626d7b13c901b85207e3eee9e4f","unresolved":false,"context_lines":[{"line_number":799,"context_line":"        arglist \u003d ["},{"line_number":800,"context_line":"            \u0027--image\u0027, \u0027image1\u0027,"},{"line_number":801,"context_line":"            \u0027--flavor\u0027, \u0027flavor1\u0027,"},{"line_number":802,"context_line":"            \u0027--nic\u0027, \u0027abcdefgh\u003d12324\u0027,"},{"line_number":803,"context_line":"            self.new_server.name,"},{"line_number":804,"context_line":"        ]"},{"line_number":805,"context_line":"        verifylist \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_0117dbef","line":802,"range":{"start_line":802,"start_character":31,"end_line":802,"end_character":36},"updated":"2017-06-20 11:48:44.000000000","message":"please add test cases to check no value and no \"\u003d\" cases\n\n    net-id\u003d\n    net-id","commit_id":"71423a25dfa55cbda6cc241f6a2eb418a20df723"}]}
