)]}'
{"openstackclient/image/v2/image.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"27aa786fd828a41500fa246eabf6380166befdab","unresolved":false,"context_lines":[{"line_number":531,"context_line":"            default\u003dNone,"},{"line_number":532,"context_line":"            help\u003d_(\"Filter images based on status.\")"},{"line_number":533,"context_line":"        )"},{"line_number":534,"context_line":"        public_group.add_argument("},{"line_number":535,"context_line":"            \"--hidden\","},{"line_number":536,"context_line":"            dest\u003d\"hidden\","},{"line_number":537,"context_line":"            action\u003d\"store_true\","}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_478169fb","line":534,"updated":"2019-02-19 04:36:10.000000000","message":"can you move this up to L515 with the other commands in this group?","commit_id":"752e9e4549c67f1eb6066d7d1bc4619c730183c6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"27aa786fd828a41500fa246eabf6380166befdab","unresolved":false,"context_lines":[{"line_number":537,"context_line":"            action\u003d\"store_true\","},{"line_number":538,"context_line":"            default\u003dFalse,"},{"line_number":539,"context_line":"            help\u003d_(\"List only \u0027hidden\u0027 images. By default \u0027hidden\u0027 images \""},{"line_number":540,"context_line":"                   \"are not included in the image-list response\"),"},{"line_number":541,"context_line":"        )"},{"line_number":542,"context_line":"        parser.add_argument("},{"line_number":543,"context_line":"            \u0027--tag\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_2778e529","line":540,"updated":"2019-02-19 04:36:10.000000000","message":"can you remove the words \"image-list\" that\u0027s a glance command, and also not necessary in the help message.","commit_id":"752e9e4549c67f1eb6066d7d1bc4619c730183c6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"27aa786fd828a41500fa246eabf6380166befdab","unresolved":false,"context_lines":[{"line_number":607,"context_line":"        if parsed_args.tag:"},{"line_number":608,"context_line":"            kwargs[\u0027tag\u0027] \u003d parsed_args.tag"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        if parsed_args.hidden:"},{"line_number":611,"context_line":"            kwargs[\u0027os_hidden\u0027] \u003d True"},{"line_number":612,"context_line":""},{"line_number":613,"context_line":"        if parsed_args.long:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_e7717d46","line":610,"updated":"2019-02-19 04:36:10.000000000","message":"please move this up to L598","commit_id":"752e9e4549c67f1eb6066d7d1bc4619c730183c6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"27aa786fd828a41500fa246eabf6380166befdab","unresolved":false,"context_lines":[{"line_number":625,"context_line":"                \u0027tags\u0027,"},{"line_number":626,"context_line":"            )"},{"line_number":627,"context_line":"            column_headers \u003d ("},{"line_number":628,"context_line":"                \u0027ID\u0027,"},{"line_number":629,"context_line":"                \u0027Name\u0027,"},{"line_number":630,"context_line":"                \u0027Disk Format\u0027,"},{"line_number":631,"context_line":"                \u0027Container Format\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_c7c23935","line":628,"updated":"2019-02-19 04:36:10.000000000","message":"did you want to add values here? like \u0027os_hidden\u0027, \u0027os_hash_algo\u0027, \u0027os_hash_value\u0027?","commit_id":"752e9e4549c67f1eb6066d7d1bc4619c730183c6"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"2455063b3785ebac20b875bda179d9e2022f6de5","unresolved":false,"context_lines":[{"line_number":639,"context_line":"                \u0027Project\u0027,"},{"line_number":640,"context_line":"                \u0027Hidden\u0027,"},{"line_number":641,"context_line":"                \u0027Hash Algorithm\u0027,"},{"line_number":642,"context_line":"                \u0027Hash Value\u0027,"},{"line_number":643,"context_line":"                \u0027Tags\u0027,"},{"line_number":644,"context_line":"            )"},{"line_number":645,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_57a0b2f4","line":642,"range":{"start_line":642,"start_character":0,"end_line":642,"end_character":29},"updated":"2019-02-26 00:26:34.000000000","message":"I think the hash columns should only be listed when --long is specified.  I\u0027m not certain it even makes sense to list hidden as it will always be True when --hidden is used and always false otherwise.","commit_id":"176552e82c9ab469712ab280616d4e6a996c6a4d"}],"openstackclient/tests/functional/image/v2/test_image.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"be4b75e8fca46c331396f9315ee89798fc057132","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            \u0027image show -f json \u0027 +"},{"line_number":143,"context_line":"            self.name"},{"line_number":144,"context_line":"        ))"},{"line_number":145,"context_line":"        if \"properties\" in json_output:"},{"line_number":146,"context_line":"            # NOTE(dtroyer): Don\u0027t do a full-string compare so we are tolerant"},{"line_number":147,"context_line":"            #                of new artributes in the returned data"},{"line_number":148,"context_line":"            self.assertNotIn(\"a\u003d\u0027b\u0027\", json_output[\"properties\"])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_ae9c9b0e","line":145,"updated":"2019-02-19 20:03:50.000000000","message":"How is this related to this change? Could you explain the detail context?","commit_id":"176552e82c9ab469712ab280616d4e6a996c6a4d"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"2455063b3785ebac20b875bda179d9e2022f6de5","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            \u0027image show -f json \u0027 +"},{"line_number":143,"context_line":"            self.name"},{"line_number":144,"context_line":"        ))"},{"line_number":145,"context_line":"        if \"properties\" in json_output:"},{"line_number":146,"context_line":"            # NOTE(dtroyer): Don\u0027t do a full-string compare so we are tolerant"},{"line_number":147,"context_line":"            #                of new artributes in the returned data"},{"line_number":148,"context_line":"            self.assertNotIn(\"a\u003d\u0027b\u0027\", json_output[\"properties\"])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_5a369705","line":145,"in_reply_to":"9fdfeff1_51fd90af","updated":"2019-02-26 00:26:34.000000000","message":"I think this is a clue, there is no reason that properties should be missing, we just set two of them.","commit_id":"176552e82c9ab469712ab280616d4e6a996c6a4d"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"6cddbb93019c54419c634e300c3eefcda45f9168","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            \u0027image show -f json \u0027 +"},{"line_number":143,"context_line":"            self.name"},{"line_number":144,"context_line":"        ))"},{"line_number":145,"context_line":"        if \"properties\" in json_output:"},{"line_number":146,"context_line":"            # NOTE(dtroyer): Don\u0027t do a full-string compare so we are tolerant"},{"line_number":147,"context_line":"            #                of new artributes in the returned data"},{"line_number":148,"context_line":"            self.assertNotIn(\"a\u003d\u0027b\u0027\", json_output[\"properties\"])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_f1fcc40d","line":145,"in_reply_to":"9fdfeff1_ae9c9b0e","updated":"2019-02-19 20:14:07.000000000","message":"PS1 was failing function tests, since here osc was not returning any properties at all (might be since I included those 3 from colums_to_show). So here we want to ensure that properties are not set, but there might be no properties at all","commit_id":"176552e82c9ab469712ab280616d4e6a996c6a4d"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"33d284f91fa9dfe7ff5775ff27a22ed89636b64f","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            \u0027image show -f json \u0027 +"},{"line_number":143,"context_line":"            self.name"},{"line_number":144,"context_line":"        ))"},{"line_number":145,"context_line":"        if \"properties\" in json_output:"},{"line_number":146,"context_line":"            # NOTE(dtroyer): Don\u0027t do a full-string compare so we are tolerant"},{"line_number":147,"context_line":"            #                of new artributes in the returned data"},{"line_number":148,"context_line":"            self.assertNotIn(\"a\u003d\u0027b\u0027\", json_output[\"properties\"])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_51fd90af","line":145,"in_reply_to":"9fdfeff1_f1fcc40d","updated":"2019-02-19 20:31:37.000000000","message":"typing from smartphone should be forbidden\n\ns/included those 3 from columns_to_show/included those fields in _format_image.fields_to_show/\n\nsee http://logs.openstack.org/28/637528/1/check/osc-functional-devstack/7a03a6e/ for the reference","commit_id":"176552e82c9ab469712ab280616d4e6a996c6a4d"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"68ac2fdaa0d3a1dc998e3ec4a93cf55aa4c97a7b","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            \u0027image show -f json \u0027 +"},{"line_number":143,"context_line":"            self.name"},{"line_number":144,"context_line":"        ))"},{"line_number":145,"context_line":"        if \"properties\" in json_output:"},{"line_number":146,"context_line":"            # NOTE(dtroyer): Don\u0027t do a full-string compare so we are tolerant"},{"line_number":147,"context_line":"            #                of new artributes in the returned data"},{"line_number":148,"context_line":"            self.assertNotIn(\"a\u003d\u0027b\u0027\", json_output[\"properties\"])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_8678fcc0","line":145,"range":{"start_line":145,"start_character":12,"end_line":145,"end_character":22},"updated":"2019-02-27 19:50:15.000000000","message":"I still want to know why this check is required since we just set 2 properties above, it should always be present.  In what instances is it missing?","commit_id":"e879df78bf83355419e2eda85aeb1b0ef7699d7f"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"666309cbfb8ced0c2082bd28e141954657d92bf9","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            \u0027image show -f json \u0027 +"},{"line_number":143,"context_line":"            self.name"},{"line_number":144,"context_line":"        ))"},{"line_number":145,"context_line":"        if \"properties\" in json_output:"},{"line_number":146,"context_line":"            # NOTE(dtroyer): Don\u0027t do a full-string compare so we are tolerant"},{"line_number":147,"context_line":"            #                of new artributes in the returned data"},{"line_number":148,"context_line":"            self.assertNotIn(\"a\u003d\u0027b\u0027\", json_output[\"properties\"])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_b1dbf8ea","line":145,"range":{"start_line":145,"start_character":12,"end_line":145,"end_character":22},"in_reply_to":"9fdfeff1_8678fcc0","updated":"2019-02-27 20:22:21.000000000","message":"We do not set, but ensure 2 props are absent after unset. And it might be, that there are no props at all on the image after that","commit_id":"e879df78bf83355419e2eda85aeb1b0ef7699d7f"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"68ac2fdaa0d3a1dc998e3ec4a93cf55aa4c97a7b","unresolved":false,"context_lines":[{"line_number":313,"context_line":"            [img[\u0027Name\u0027] for img in json_output]"},{"line_number":314,"context_line":"        )"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        # else:"},{"line_number":317,"context_line":"        #     # Test not shared"},{"line_number":318,"context_line":"        #     self.assertRaises("},{"line_number":319,"context_line":"        #         image_exceptions.HTTPForbidden,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_31294889","line":316,"range":{"start_line":316,"start_character":10,"end_line":316,"end_character":14},"updated":"2019-02-27 19:50:15.000000000","message":"This commented-out bit belongs to test_image_members() and should stay with it.  And actually it looks like we should be able to uncomment it (I\u0027ll do that separately).","commit_id":"e879df78bf83355419e2eda85aeb1b0ef7699d7f"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"666309cbfb8ced0c2082bd28e141954657d92bf9","unresolved":false,"context_lines":[{"line_number":313,"context_line":"            [img[\u0027Name\u0027] for img in json_output]"},{"line_number":314,"context_line":"        )"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        # else:"},{"line_number":317,"context_line":"        #     # Test not shared"},{"line_number":318,"context_line":"        #     self.assertRaises("},{"line_number":319,"context_line":"        #         image_exceptions.HTTPForbidden,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_d1ff9c31","line":316,"range":{"start_line":316,"start_character":10,"end_line":316,"end_character":14},"in_reply_to":"9fdfeff1_31294889","updated":"2019-02-27 20:22:21.000000000","message":"Oh, right. Will move this.","commit_id":"e879df78bf83355419e2eda85aeb1b0ef7699d7f"}]}
