)]}'
{"openstackclient/image/v2/image.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d074495e8f4a6f8f55cb5fea812cfc9621a0c32b","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        return zip(*sorted(six.iteritems(info)))"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"class CreateImageMember(show.ShowOne):"},{"line_number":155,"context_line":"    \"\"\"Create an image member\"\"\""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    log \u003d logging.getLogger(__name__ + \".CreateImageMember\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_015f7173","line":154,"updated":"2014-12-16 20:33:19.000000000","message":"I think we want to use ImageAddProject, i\u0027m not sure thought, see what dtroyer says","commit_id":"1e6f8daaf56f3d52836898dc6c20edddd3773f9a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d074495e8f4a6f8f55cb5fea812cfc9621a0c32b","unresolved":false,"context_lines":[{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        info \u003d {}"},{"line_number":193,"context_line":"        info.update(image_member._info)"},{"line_number":194,"context_line":"        return zip(*sorted(six.iteritems(info)))"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"class DeleteImageMember(command.Command):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_c1cba91c","line":194,"updated":"2014-12-16 20:33:19.000000000","message":"this can be all in one line\n\nreturn zip(*sorted(six.iteritems(image_member._info)))","commit_id":"1e6f8daaf56f3d52836898dc6c20edddd3773f9a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d074495e8f4a6f8f55cb5fea812cfc9621a0c32b","unresolved":false,"context_lines":[{"line_number":269,"context_line":"        parser.add_argument("},{"line_number":270,"context_line":"            \"image\","},{"line_number":271,"context_line":"            metavar\u003d\"\u003cimage\u003e\","},{"line_number":272,"context_line":"            help\u003d_(\"Name or ID of image from witch to update member\"),"},{"line_number":273,"context_line":"        )"},{"line_number":274,"context_line":"        parser.add_argument("},{"line_number":275,"context_line":"            \"member\","}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_41d7b9bf","line":272,"updated":"2014-12-16 20:33:19.000000000","message":"which*","commit_id":"1e6f8daaf56f3d52836898dc6c20edddd3773f9a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d074495e8f4a6f8f55cb5fea812cfc9621a0c32b","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        parser.add_argument("},{"line_number":280,"context_line":"            \"status\","},{"line_number":281,"context_line":"            metavar\u003d\"\u003cstatus\u003e\","},{"line_number":282,"context_line":"            help\u003d_(\"New member status\"),"},{"line_number":283,"context_line":"        )"},{"line_number":284,"context_line":"        return parser"},{"line_number":285,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_01edb18b","line":282,"updated":"2014-12-16 20:33:19.000000000","message":"New status for member*","commit_id":"1e6f8daaf56f3d52836898dc6c20edddd3773f9a"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b7b4dc9956769b935808b825b71cf138dcc4eb28","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"class CreateImageMember(show.ShowOne):"},{"line_number":155,"context_line":"    \"\"\"Create an image member\"\"\""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    log \u003d logging.getLogger(__name__ + \".CreateImageMember\")"},{"line_number":158,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_b86c5dd1","line":155,"updated":"2014-12-23 16:55:37.000000000","message":"This is really \u0027image add project\u0027","commit_id":"a268c979b90e3834ffd1f0a3ab0aecc7d9371e68"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b7b4dc9956769b935808b825b71cf138dcc4eb28","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"class ListImageMember(lister.Lister):"},{"line_number":233,"context_line":"    \"\"\"List image members\"\"\""},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    log \u003d logging.getLogger(__name__ + \".ListImageMember\")"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_786035a5","line":233,"updated":"2014-12-23 16:55:37.000000000","message":"This should be rolled into \u0027image list\u0027 as shown in the wiki commands page: https://wiki.openstack.org/wiki/OpenStackClient/Commands#image_3","commit_id":"a268c979b90e3834ffd1f0a3ab0aecc7d9371e68"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b7b4dc9956769b935808b825b71cf138dcc4eb28","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"class SetImageMember(command.Command):"},{"line_number":261,"context_line":"    \"\"\"Update status of image member\"\"\""},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    log \u003d logging.getLogger(__name__ + \".SetImageMember\")"},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_f8e8a5e3","line":261,"updated":"2014-12-23 16:55:37.000000000","message":"This should be rolled into the \u0027image set\u0027 command","commit_id":"a268c979b90e3834ffd1f0a3ab0aecc7d9371e68"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"45ea0fb72e39f58d34c9561fb8c15e27971116b0","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        )"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        project \u003d utils.find_resource("},{"line_number":60,"context_line":"            identity_client.projects,"},{"line_number":61,"context_line":"            parsed_args.project,"},{"line_number":62,"context_line":"        )"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_0e3b04c9","line":60,"updated":"2014-12-30 23:55:53.000000000","message":"For Keystone V2, this should be: identity_client.tenants","commit_id":"ef02b996d2fae076a5fb79f8d6b7508ae03cc635"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"8d8449a4af6e1c4d2d8164b0e72981a24b28c169","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        )"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        project \u003d utils.find_resource("},{"line_number":60,"context_line":"            identity_client.projects,"},{"line_number":61,"context_line":"            parsed_args.project,"},{"line_number":62,"context_line":"        )"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_8462733b","line":60,"in_reply_to":"3a961159_0e3b04c9","updated":"2014-12-31 04:00:46.000000000","message":"We have done projects to tenants map for keystoneclient v2 already.\nhttps://github.com/openstack/python-openstackclient/blob/master/openstackclient/identity/client.py#L74","commit_id":"ef02b996d2fae076a5fb79f8d6b7508ae03cc635"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"8191ed3ae537148987ff797bce996a4439da49b7","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        )"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        project \u003d utils.find_resource("},{"line_number":60,"context_line":"            identity_client.projects,"},{"line_number":61,"context_line":"            parsed_args.project,"},{"line_number":62,"context_line":"        )"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_7f627017","line":60,"in_reply_to":"3a961159_8462733b","updated":"2014-12-31 06:05:35.000000000","message":"Cool! Didn\u0027t notice that, my bad","commit_id":"ef02b996d2fae076a5fb79f8d6b7508ae03cc635"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"9a7d9b6670ac8fce56a4f3f6c26e843e46274fa0","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            default\u003dFalse,"},{"line_number":120,"context_line":"            help\u003d_(\u0027List the projects that image shared with\u0027),"},{"line_number":121,"context_line":"        )"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \"--image\","},{"line_number":124,"context_line":"            metavar\u003d\"\u003cimage\u003e\","},{"line_number":125,"context_line":"            help\u003d_(\"Image filter by (name or ID)\"),"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_2b0c1994","line":122,"updated":"2015-01-02 19:38:20.000000000","message":"I\u0027m not sure why we want to do this?","commit_id":"ef02b996d2fae076a5fb79f8d6b7508ae03cc635"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"1bd7d65e588f00df770d0d6e22b6599c03e1c9a5","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            default\u003dFalse,"},{"line_number":120,"context_line":"            help\u003d_(\u0027List the projects that image shared with\u0027),"},{"line_number":121,"context_line":"        )"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \"--image\","},{"line_number":124,"context_line":"            metavar\u003d\"\u003cimage\u003e\","},{"line_number":125,"context_line":"            help\u003d_(\"Image filter by (name or ID)\"),"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_fdc64f15","line":122,"in_reply_to":"3a961159_2b0c1994","updated":"2015-01-04 01:50:40.000000000","message":"Glanceclient v2 member list command requires image parameter: https://github.com/openstack/python-glanceclient/blob/master/glanceclient/v2/image_members.py#L32","commit_id":"ef02b996d2fae076a5fb79f8d6b7508ae03cc635"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"45ea0fb72e39f58d34c9561fb8c15e27971116b0","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        )"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        project \u003d utils.find_resource("},{"line_number":193,"context_line":"            identity_client.projects,"},{"line_number":194,"context_line":"            parsed_args.project,"},{"line_number":195,"context_line":"        )"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_2e4a8055","line":193,"updated":"2014-12-30 23:55:53.000000000","message":"Won\u0027t work with Keystone V2, same comment as above.","commit_id":"ef02b996d2fae076a5fb79f8d6b7508ae03cc635"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"69b9fde7faa3a7930c052a429461f1bde067558b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            metavar\u003d\"\u003cimage\u003e\","},{"line_number":40,"context_line":"            help\u003d_(\"Image to be shared (name or ID)\"),"},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":"        parser.add_argument("},{"line_number":43,"context_line":"            \"project\","},{"line_number":44,"context_line":"            metavar\u003d\"\u003cproject\u003e\","},{"line_number":45,"context_line":"            help\u003d_(\"Project to share with (name or ID)\"),"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa81d914_ea8fc7ca","line":42,"updated":"2015-01-27 18:45:14.000000000","message":"add a domain option too, in case project is specified by name","commit_id":"29137472566a18465b7e20e78955decbc940fe02"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"69b9fde7faa3a7930c052a429461f1bde067558b","unresolved":false,"context_lines":[{"line_number":204,"context_line":"            \"project\","},{"line_number":205,"context_line":"            metavar\u003d\"\u003cproject\u003e\","},{"line_number":206,"context_line":"            help\u003d_(\"Project that will lose share (name or ID)\"),"},{"line_number":207,"context_line":"        )"},{"line_number":208,"context_line":"        return parser"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa81d914_aa730fe6","line":207,"updated":"2015-01-27 18:45:14.000000000","message":"same comment as above, needs a domain option too","commit_id":"29137472566a18465b7e20e78955decbc940fe02"}],"setup.cfg":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d074495e8f4a6f8f55cb5fea812cfc9621a0c32b","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    image_save \u003d openstackclient.image.v2.image:SaveImage"},{"line_number":291,"context_line":"    image_show \u003d openstackclient.image.v2.image:ShowImage"},{"line_number":292,"context_line":"    image_add_project \u003d openstackclient.image.v2.image:CreateImageMember"},{"line_number":293,"context_line":"    image_remove_project \u003d openstackclient.image.v2.image:DeleteImageMember"},{"line_number":294,"context_line":"    image_list_proejct \u003d openstackclient.image.v2.image:ListImageMember"},{"line_number":295,"context_line":"    image_set_project \u003d openstackclient.image.v2.image:SetImageMember"},{"line_number":296,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"3a961159_c1672924","line":293,"updated":"2014-12-16 20:33:19.000000000","message":"nit: place these in alphabetical order","commit_id":"1e6f8daaf56f3d52836898dc6c20edddd3773f9a"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b7b4dc9956769b935808b825b71cf138dcc4eb28","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    image_save \u003d openstackclient.image.v2.image:SaveImage"},{"line_number":291,"context_line":"    image_show \u003d openstackclient.image.v2.image:ShowImage"},{"line_number":292,"context_line":"    image_add_project \u003d openstackclient.image.v2.image:CreateImageMember"},{"line_number":293,"context_line":"    image_list_proejct \u003d openstackclient.image.v2.image:ListImageMember"},{"line_number":294,"context_line":"    image_remove_project \u003d openstackclient.image.v2.image:DeleteImageMember"},{"line_number":295,"context_line":"    image_set_project \u003d openstackclient.image.v2.image:SetImageMember"},{"line_number":296,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"3a961159_f2428366","line":293,"updated":"2014-12-23 16:55:37.000000000","message":"_project","commit_id":"a268c979b90e3834ffd1f0a3ab0aecc7d9371e68"}]}
