)]}'
{"zun/image/docker/driver.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"05071165066983722afa9b17a6ef8eab5188aba0","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        if exact_match:"},{"line_number":97,"context_line":"            images \u003d [i for i in images if i[\u0027name\u0027] \u003d\u003d repo]"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        metadata \u003d (\u0027is_official\u0027, \u0027star_count\u0027)"},{"line_number":100,"context_line":"        meta \u003d {}"},{"line_number":101,"context_line":"        for i in range(len(images)):"},{"line_number":102,"context_line":"            for j in metadata:"},{"line_number":103,"context_line":"                meta[j] \u003d images[i][j]"},{"line_number":104,"context_line":"                del images[i][j]"},{"line_number":105,"context_line":"            images[i][\"metadata\"] \u003d copy.deepcopy(meta)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # TODO(hongbin): convert images to a list of Zun Image object"},{"line_number":108,"context_line":"        return images"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff82abbf_c309a495","line":105,"range":{"start_line":99,"start_character":0,"end_line":105,"end_character":55},"updated":"2017-11-22 04:45:27.000000000","message":"I think the logic is correct, but suggest to re-write this as below:\n\n        for image in images:\n            image[\u0027metadata\u0027] \u003d {}\n            for key in (\u0027is_official\u0027, \u0027star_count\u0027):\n                value \u003d image.pop(key, None)\n                if value is not None:\n                    image[\u0027metadata\u0027][key] \u003d value\n\nThis should work the same but easier to read from other contributors.","commit_id":"6d4aa61cc5676e0d32087eb7ac33c4c680382471"},{"author":{"_account_id":16190,"name":"dharmalingam","email":"cooldharma06@gmail.com","username":"cooldharma06"},"change_message_id":"2fada05c639f8ee4d740ee842be6a32cad1ac1b4","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        if exact_match:"},{"line_number":97,"context_line":"            images \u003d [i for i in images if i[\u0027name\u0027] \u003d\u003d repo]"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        metadata \u003d (\u0027is_official\u0027, \u0027star_count\u0027)"},{"line_number":100,"context_line":"        meta \u003d {}"},{"line_number":101,"context_line":"        for i in range(len(images)):"},{"line_number":102,"context_line":"            for j in metadata:"},{"line_number":103,"context_line":"                meta[j] \u003d images[i][j]"},{"line_number":104,"context_line":"                del images[i][j]"},{"line_number":105,"context_line":"            images[i][\"metadata\"] \u003d copy.deepcopy(meta)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # TODO(hongbin): convert images to a list of Zun Image object"},{"line_number":108,"context_line":"        return images"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff82abbf_e91cc96b","line":105,"range":{"start_line":99,"start_character":0,"end_line":105,"end_character":55},"in_reply_to":"ff82abbf_c309a495","updated":"2017-11-22 09:00:19.000000000","message":"thanks for your comment and code","commit_id":"6d4aa61cc5676e0d32087eb7ac33c4c680382471"}],"zun/tests/unit/image/docker/test_driver.py":[{"author":{"_account_id":23055,"name":"miaohb","email":"miao.hongbao@zte.com.cn","username":"miaohb"},"change_message_id":"f0f9274215b51395de3c4fad6a4d0da610309282","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            self.assertEqual(1, mock_search.call_count)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def test_search_image_not_found_exact_match_success(self):"},{"line_number":189,"context_line":"        search_ret_val \u003d [{\u0027name\u0027: \u0027test_image\u0027, \u0027stars\u0027: 3}]"},{"line_number":190,"context_line":"        with mock.patch.object(self.mock_docker, \u0027search\u0027,"},{"line_number":191,"context_line":"                               return_value\u003dsearch_ret_val) as mock_search:"},{"line_number":192,"context_line":"            ret \u003d self.driver.search_image(None, \u0027image\u0027, \u0027test\u0027, True)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_73f9634b","line":189,"range":{"start_line":189,"start_character":49,"end_line":189,"end_character":59},"updated":"2017-11-23 09:01:02.000000000","message":"ditto?","commit_id":"3c1cd73d6552ceede0050a3e29eb67cf29f21fb5"},{"author":{"_account_id":16190,"name":"dharmalingam","email":"cooldharma06@gmail.com","username":"cooldharma06"},"change_message_id":"829e9761d438f2e01baccc391ec50796bb358527","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            self.assertEqual(1, mock_search.call_count)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def test_search_image_not_found_exact_match_success(self):"},{"line_number":189,"context_line":"        search_ret_val \u003d [{\u0027name\u0027: \u0027test_image\u0027, \u0027stars\u0027: 3}]"},{"line_number":190,"context_line":"        with mock.patch.object(self.mock_docker, \u0027search\u0027,"},{"line_number":191,"context_line":"                               return_value\u003dsearch_ret_val) as mock_search:"},{"line_number":192,"context_line":"            ret \u003d self.driver.search_image(None, \u0027image\u0027, \u0027test\u0027, True)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_2cbdb8d7","line":189,"range":{"start_line":189,"start_character":49,"end_line":189,"end_character":59},"in_reply_to":"ff82abbf_73f9634b","updated":"2017-11-23 10:34:56.000000000","message":"Done","commit_id":"3c1cd73d6552ceede0050a3e29eb67cf29f21fb5"}]}
