)]}'
{"manilaclient/base.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def _build_query_string(self, search_opts):"},{"line_number":179,"context_line":"        q_string \u003d parse.urlencode("},{"line_number":180,"context_line":"            sorted([(k, v) for (k, v) in list(search_opts.items()) if v]))"},{"line_number":181,"context_line":"        if q_string:"},{"line_number":182,"context_line":"            q_string \u003d \"?%s\" % (q_string,)"},{"line_number":183,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_f2cb8770","line":180,"range":{"start_line":180,"start_character":27,"end_line":180,"end_character":66},"updated":"2017-01-20 02:05:29.000000000","message":"for k, v in search_opts.items() \n\nI don\u0027t see a need for the extra parens or the list()","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def _build_query_string(self, search_opts):"},{"line_number":179,"context_line":"        q_string \u003d parse.urlencode("},{"line_number":180,"context_line":"            sorted([(k, v) for (k, v) in list(search_opts.items()) if v]))"},{"line_number":181,"context_line":"        if q_string:"},{"line_number":182,"context_line":"            q_string \u003d \"?%s\" % (q_string,)"},{"line_number":183,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_624a4eae","line":180,"range":{"start_line":180,"start_character":27,"end_line":180,"end_character":66},"in_reply_to":"5a3905b3_f2cb8770","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        q_string \u003d parse.urlencode("},{"line_number":180,"context_line":"            sorted([(k, v) for (k, v) in list(search_opts.items()) if v]))"},{"line_number":181,"context_line":"        if q_string:"},{"line_number":182,"context_line":"            q_string \u003d \"?%s\" % (q_string,)"},{"line_number":183,"context_line":"        else:"},{"line_number":184,"context_line":"            q_string \u003d \u0027\u0027"},{"line_number":185,"context_line":"        return q_string"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_b29e5f54","line":182,"range":{"start_line":182,"start_character":31,"end_line":182,"end_character":42},"updated":"2017-01-20 02:05:29.000000000","message":"and why isn\u0027t this just q_string?","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        q_string \u003d parse.urlencode("},{"line_number":180,"context_line":"            sorted([(k, v) for (k, v) in list(search_opts.items()) if v]))"},{"line_number":181,"context_line":"        if q_string:"},{"line_number":182,"context_line":"            q_string \u003d \"?%s\" % (q_string,)"},{"line_number":183,"context_line":"        else:"},{"line_number":184,"context_line":"            q_string \u003d \u0027\u0027"},{"line_number":185,"context_line":"        return q_string"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_82c73a11","line":182,"range":{"start_line":182,"start_character":31,"end_line":182,"end_character":42},"in_reply_to":"5a3905b3_b29e5f54","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"}],"manilaclient/tests/unit/v2/test_share_group_snapshots.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        mock_create.assert_called_once_with("},{"line_number":112,"context_line":"            snapshots.RESOURCES_PATH, expected_body, snapshots.RESOURCE_NAME)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_create_invalid_microversion(self):"},{"line_number":115,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_0d0472be","line":114,"range":{"start_line":114,"start_character":20,"end_line":114,"end_character":27},"updated":"2017-01-20 02:05:29.000000000","message":"nit s/invalid/unsupported/","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        mock_create.assert_called_once_with("},{"line_number":112,"context_line":"            snapshots.RESOURCES_PATH, expected_body, snapshots.RESOURCE_NAME)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_create_invalid_microversion(self):"},{"line_number":115,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_9c195e7c","line":114,"range":{"start_line":114,"start_character":20,"end_line":114,"end_character":27},"in_reply_to":"5a3905b3_0d0472be","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            snapshots.RESOURCES_PATH, expected_body, snapshots.RESOURCE_NAME)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_create_invalid_microversion(self):"},{"line_number":115,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        self.assertRaises("},{"line_number":118,"context_line":"            exceptions.UnsupportedVersion,"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_ed6f2690","line":115,"range":{"start_line":115,"start_character":52,"end_line":115,"end_character":67},"updated":"2017-01-20 02:05:29.000000000","message":"I like to think that someday the minimum supported version will be increased so that this test will fail, but I guess it is OK","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            snapshots.RESOURCES_PATH, expected_body, snapshots.RESOURCE_NAME)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_create_invalid_microversion(self):"},{"line_number":115,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        self.assertRaises("},{"line_number":118,"context_line":"            exceptions.UnsupportedVersion,"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_dc77669d","line":115,"range":{"start_line":115,"start_character":52,"end_line":115,"end_character":67},"in_reply_to":"5a3905b3_ed6f2690","updated":"2017-01-20 10:55:37.000000000","message":"Yes, it is very far far future. And maybe we will face it only in some parallel universe \u003d)","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"}],"manilaclient/tests/unit/v2/test_share_group_type_access.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        self.assertIsNone(result)"},{"line_number":79,"context_line":"        self.assertFalse(mock_list.called)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def test_list_invalid_microversion(self):"},{"line_number":82,"context_line":"        fake_share_group_type_access \u003d fake.ShareGroupTypeAccess()"},{"line_number":83,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_0d9472e0","line":81,"range":{"start_line":81,"start_character":18,"end_line":81,"end_character":25},"updated":"2017-01-20 02:05:29.000000000","message":"nit: unsupported","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        self.assertIsNone(result)"},{"line_number":79,"context_line":"        self.assertFalse(mock_list.called)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def test_list_invalid_microversion(self):"},{"line_number":82,"context_line":"        fake_share_group_type_access \u003d fake.ShareGroupTypeAccess()"},{"line_number":83,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_bcfffaff","line":81,"range":{"start_line":81,"start_character":18,"end_line":81,"end_character":25},"in_reply_to":"5a3905b3_0d9472e0","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"}],"manilaclient/tests/unit/v2/test_share_group_types.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        self.assertRaises(ValueError, self.manager.create, **create_args)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def test_create_invalid_microversion(self):"},{"line_number":169,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        self.assertRaises(exceptions.UnsupportedVersion, self.manager.create)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_483bc7d1","line":168,"range":{"start_line":168,"start_character":20,"end_line":168,"end_character":27},"updated":"2017-01-20 02:05:29.000000000","message":"same nit s/invalid/unsupported/","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        self.assertRaises(ValueError, self.manager.create, **create_args)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def test_create_invalid_microversion(self):"},{"line_number":169,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        self.assertRaises(exceptions.UnsupportedVersion, self.manager.create)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_a81b357f","line":168,"range":{"start_line":168,"start_character":20,"end_line":168,"end_character":27},"in_reply_to":"5a3905b3_483bc7d1","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"}],"manilaclient/tests/unit/v2/test_share_groups.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            },"},{"line_number":110,"context_line":"        }"},{"line_number":111,"context_line":"        mock_create.assert_called_once_with("},{"line_number":112,"context_line":"            share_groups.RESOURCES_PATH, expected_body,"},{"line_number":113,"context_line":"            share_groups.RESOURCE_NAME)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def test_create_default_type(self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_a8ba6b08","line":112,"range":{"start_line":112,"start_character":40,"end_line":112,"end_character":41},"updated":"2017-01-20 02:05:29.000000000","message":"nit: \"guideline\" says to put parms on separate lines when they don\u0027t fit on one.","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        self.assertIs(fake_share_group, result)"},{"line_number":128,"context_line":"        expected_body \u003d {share_groups.RESOURCE_NAME: create_args}"},{"line_number":129,"context_line":"        mock_create.assert_called_once_with("},{"line_number":130,"context_line":"            share_groups.RESOURCES_PATH, expected_body,"},{"line_number":131,"context_line":"            share_groups.RESOURCE_NAME)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_create_from_snapshot(self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_08429f10","line":130,"range":{"start_line":130,"start_character":40,"end_line":130,"end_character":41},"updated":"2017-01-20 02:05:29.000000000","message":"same nit","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            },"},{"line_number":154,"context_line":"        }"},{"line_number":155,"context_line":"        mock_create.assert_called_once_with("},{"line_number":156,"context_line":"            share_groups.RESOURCES_PATH, expected_body,"},{"line_number":157,"context_line":"            share_groups.RESOURCE_NAME)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def test_create_invalid_microversion(self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_c85ed7e8","line":156,"range":{"start_line":156,"start_character":40,"end_line":156,"end_character":41},"updated":"2017-01-20 02:05:29.000000000","message":"same","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            share_groups.RESOURCES_PATH, expected_body,"},{"line_number":157,"context_line":"            share_groups.RESOURCE_NAME)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def test_create_invalid_microversion(self):"},{"line_number":160,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        self.assertRaises(exceptions.UnsupportedVersion, self.manager.create)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_4873c780","line":159,"range":{"start_line":159,"start_character":20,"end_line":159,"end_character":27},"updated":"2017-01-20 02:05:29.000000000","message":"unsupported","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            share_groups.RESOURCES_PATH, expected_body,"},{"line_number":157,"context_line":"            share_groups.RESOURCE_NAME)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def test_create_invalid_microversion(self):"},{"line_number":160,"context_line":"        self.manager.api.api_version \u003d manilaclient.API_MIN_VERSION"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        self.assertRaises(exceptions.UnsupportedVersion, self.manager.create)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_0855294f","line":159,"range":{"start_line":159,"start_character":20,"end_line":159,"end_character":27},"in_reply_to":"5a3905b3_4873c780","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    def test_list_with_invalid_sorting(self, sort_key, sort_dir):"},{"line_number":249,"context_line":"        self.assertRaises("},{"line_number":250,"context_line":"            ValueError,"},{"line_number":251,"context_line":"            self.manager.list, sort_dir\u003dsort_dir, sort_key\u003dsort_key)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def test_update(self):"},{"line_number":254,"context_line":"        fake_share_group \u003d fake.ShareGroup()"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_08ac5f9f","line":251,"updated":"2017-01-20 02:05:29.000000000","message":"and here I wouldn\u0027t mention that guideline, but to say this way is good.","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"}],"manilaclient/tests/unit/v2/test_shell.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"06818bd0e8372d65ec523922bb7be5c11596c47d","unresolved":false,"context_lines":[{"line_number":1869,"context_line":"        shell_v2._print_share_group_type_list.assert_called_once_with("},{"line_number":1870,"context_line":"            mock.ANY, default_share_group_type\u003dmock.ANY, columns\u003d\u0027id,name\u0027)"},{"line_number":1871,"context_line":""},{"line_number":1872,"context_line":"    def test_group_type_list_default_volume_type(self):"},{"line_number":1873,"context_line":""},{"line_number":1874,"context_line":"        self.run_command(\u0027group-type-list\u0027)"},{"line_number":1875,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_833a6fe5","line":1872,"range":{"start_line":1872,"start_character":37,"end_line":1872,"end_character":43},"updated":"2016-11-11 16:19:21.000000000","message":"volume?","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"06818bd0e8372d65ec523922bb7be5c11596c47d","unresolved":false,"context_lines":[{"line_number":1881,"context_line":""},{"line_number":1882,"context_line":"        self.assert_called_anytime(\u0027GET\u0027, \u0027/group-types?is_public\u003dall\u0027)"},{"line_number":1883,"context_line":""},{"line_number":1884,"context_line":"    def test_group_extra_specs_list(self):"},{"line_number":1885,"context_line":""},{"line_number":1886,"context_line":"        self.mock_object(shell_v2, \u0027_print_type_and_extra_specs_list\u0027)"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"        self.run_command(\u0027group-extra-specs-list\u0027)"},{"line_number":1889,"context_line":""},{"line_number":1890,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/group-types?is_public\u003dall\u0027)"},{"line_number":1891,"context_line":"        shell_v2._print_type_and_extra_specs_list.assert_called_once_with("},{"line_number":1892,"context_line":"            mock.ANY, columns\u003dmock.ANY)"},{"line_number":1893,"context_line":""},{"line_number":1894,"context_line":"    def test_group_extra_specs_list_select_column(self):"},{"line_number":1895,"context_line":""},{"line_number":1896,"context_line":"        self.mock_object(shell_v2, \u0027_print_type_and_extra_specs_list\u0027)"},{"line_number":1897,"context_line":""},{"line_number":1898,"context_line":"        self.run_command(\u0027group-extra-specs-list --columns id,name\u0027)"},{"line_number":1899,"context_line":""},{"line_number":1900,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/group-types?is_public\u003dall\u0027)"},{"line_number":1901,"context_line":"        shell_v2._print_type_and_extra_specs_list.assert_called_once_with("},{"line_number":1902,"context_line":"            mock.ANY, columns\u003d\u0027id,name\u0027)"},{"line_number":1903,"context_line":""},{"line_number":1904,"context_line":"    @ddt.data(True, False)"},{"line_number":1905,"context_line":"    def test_group_type_create_with_access(self, public):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_232a8390","line":1902,"range":{"start_line":1884,"start_character":0,"end_line":1902,"end_character":40},"updated":"2016-11-11 16:19:21.000000000","message":"Could be combined using ddt module.","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":644,"context_line":""},{"line_number":645,"context_line":"        self.run_command(\u0027delete 1234 %s\u0027 % sg_cmd)"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/shares/1234?share_group_id\u003d1234\u0027)"},{"line_number":648,"context_line":"        self.assertTrue(shell_v2._find_share_group.called)"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"    def test_delete_not_found(self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_28b4bbcf","line":647,"range":{"start_line":647,"start_character":46,"end_line":647,"end_character":50},"updated":"2017-01-20 02:05:29.000000000","message":"would be better to use different id for share and group","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":644,"context_line":""},{"line_number":645,"context_line":"        self.run_command(\u0027delete 1234 %s\u0027 % sg_cmd)"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/shares/1234?share_group_id\u003d1234\u0027)"},{"line_number":648,"context_line":"        self.assertTrue(shell_v2._find_share_group.called)"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"    def test_delete_not_found(self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_82181a86","line":647,"range":{"start_line":647,"start_character":46,"end_line":647,"end_character":50},"in_reply_to":"5a3905b3_28b4bbcf","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":1855,"context_line":""},{"line_number":1856,"context_line":"    def test_share_group_update(self):"},{"line_number":1857,"context_line":"        # Basic rename with positional arguments"},{"line_number":1858,"context_line":"        self.run_command(\u0027share-group-update 1234 --name new-name\u0027)"},{"line_number":1859,"context_line":"        expected \u003d {\u0027share_group\u0027: {\u0027name\u0027: \u0027new-name\u0027}}"},{"line_number":1860,"context_line":"        self.assert_called(\u0027PUT\u0027, \u0027/share-groups/1234\u0027, body\u003dexpected)"},{"line_number":1861,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_8b6da99a","line":1858,"range":{"start_line":1858,"start_character":7,"end_line":1858,"end_character":23},"updated":"2017-01-20 02:05:29.000000000","message":"this style is different.  would look nice if you used ddt with cmd, expected and then you can have run, blank-line, assert","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":1855,"context_line":""},{"line_number":1856,"context_line":"    def test_share_group_update(self):"},{"line_number":1857,"context_line":"        # Basic rename with positional arguments"},{"line_number":1858,"context_line":"        self.run_command(\u0027share-group-update 1234 --name new-name\u0027)"},{"line_number":1859,"context_line":"        expected \u003d {\u0027share_group\u0027: {\u0027name\u0027: \u0027new-name\u0027}}"},{"line_number":1860,"context_line":"        self.assert_called(\u0027PUT\u0027, \u0027/share-groups/1234\u0027, body\u003dexpected)"},{"line_number":1861,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_6d9b1f73","line":1858,"range":{"start_line":1858,"start_character":7,"end_line":1858,"end_character":23},"in_reply_to":"5a3905b3_8b6da99a","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"        }"},{"line_number":1878,"context_line":"        self.assert_called(\u0027PUT\u0027, \u0027/share-groups/1234\u0027, body\u003dexpected)"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"        # No attributes"},{"line_number":1881,"context_line":"        self.assertRaises("},{"line_number":1882,"context_line":"            exceptions.CommandError,"},{"line_number":1883,"context_line":"            self.run_command, \u0027share-group-update 1234\u0027)"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"    @mock.patch.object(shell_v2, \u0027_find_share_group\u0027, mock.Mock())"},{"line_number":1886,"context_line":"    def test_share_group_delete(self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_8be84912","line":1883,"range":{"start_line":1880,"start_character":3,"end_line":1883,"end_character":56},"updated":"2017-01-20 02:05:29.000000000","message":"this should be a separate test","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"        }"},{"line_number":1878,"context_line":"        self.assert_called(\u0027PUT\u0027, \u0027/share-groups/1234\u0027, body\u003dexpected)"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"        # No attributes"},{"line_number":1881,"context_line":"        self.assertRaises("},{"line_number":1882,"context_line":"            exceptions.CommandError,"},{"line_number":1883,"context_line":"            self.run_command, \u0027share-group-update 1234\u0027)"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"    @mock.patch.object(shell_v2, \u0027_find_share_group\u0027, mock.Mock())"},{"line_number":1886,"context_line":"    def test_share_group_delete(self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_8d884b24","line":1883,"range":{"start_line":1880,"start_character":3,"end_line":1883,"end_character":56},"in_reply_to":"5a3905b3_8be84912","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"87c237bf0665f83e58a18ed95426dbc04ecb7e08","unresolved":false,"context_lines":[{"line_number":1888,"context_line":"        shell_v2._find_share_group.return_value \u003d fake_group"},{"line_number":1889,"context_line":""},{"line_number":1890,"context_line":"        self.run_command(\u0027share-group-delete fake-sg\u0027)"},{"line_number":1891,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/share-groups/1234\u0027)"},{"line_number":1892,"context_line":""},{"line_number":1893,"context_line":"    @mock.patch.object(shell_v2, \u0027_find_share_group\u0027, mock.Mock())"},{"line_number":1894,"context_line":"    def test_share_group_delete_force(self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_6b1cfd13","line":1891,"updated":"2017-01-20 02:05:29.000000000","message":"blank line between the \"run\" and the asserts here and below","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d95e1a2b3bd12a7d653c6f19b442a2211c7591a9","unresolved":false,"context_lines":[{"line_number":1888,"context_line":"        shell_v2._find_share_group.return_value \u003d fake_group"},{"line_number":1889,"context_line":""},{"line_number":1890,"context_line":"        self.run_command(\u0027share-group-delete fake-sg\u0027)"},{"line_number":1891,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/share-groups/1234\u0027)"},{"line_number":1892,"context_line":""},{"line_number":1893,"context_line":"    @mock.patch.object(shell_v2, \u0027_find_share_group\u0027, mock.Mock())"},{"line_number":1894,"context_line":"    def test_share_group_delete_force(self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a3905b3_4dae6386","line":1891,"in_reply_to":"5a3905b3_6b1cfd13","updated":"2017-01-20 10:55:37.000000000","message":"Done","commit_id":"352fd756309f20626b005cd0446922db1fd843c0"}],"manilaclient/v2/share_group_snapshots.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"4918d463b9b7c56a5abc0dfb855ccf67501fdd87","unresolved":false,"context_lines":[{"line_number":24,"context_line":"RESOURCE_PATH_ACTION \u003d \u0027/group-snapshots/%s/action\u0027"},{"line_number":25,"context_line":"RESOURCES_NAME \u003d \u0027group_snapshots\u0027"},{"line_number":26,"context_line":"RESOURCE_NAME \u003d \u0027group_snapshot\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class ShareGroupSnapshot(common_base.Resource):"},{"line_number":30,"context_line":"    \"\"\"A snapshot of a share group.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_116fb32b","line":27,"updated":"2016-11-10 18:29:19.000000000","message":"\"members\" is lost","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"4918d463b9b7c56a5abc0dfb855ccf67501fdd87","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        :param detailed: Whether to return detailed snapshot info or not."},{"line_number":93,"context_line":"        :param search_opts: dict with search options to filter out snapshots."},{"line_number":94,"context_line":"            available keys are below ((\u0027name1\u0027, \u0027name2\u0027, ...), \u0027type\u0027):"},{"line_number":95,"context_line":"            - (\u0027all_tenants\u0027, int)"},{"line_number":96,"context_line":"            - (\u0027offset\u0027, int)"},{"line_number":97,"context_line":"            - (\u0027limit\u0027, int)"},{"line_number":98,"context_line":"        :param sort_key: Key to be sorted (i.e. \u0027created_at\u0027 or \u0027status\u0027)."}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_5ea853db","line":95,"range":{"start_line":95,"start_character":12,"end_line":95,"end_character":34},"updated":"2016-11-10 18:29:19.000000000","message":"it should be removed","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"4918d463b9b7c56a5abc0dfb855ccf67501fdd87","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        :param search_opts: dict with search options to filter out snapshots."},{"line_number":94,"context_line":"            available keys are below ((\u0027name1\u0027, \u0027name2\u0027, ...), \u0027type\u0027):"},{"line_number":95,"context_line":"            - (\u0027all_tenants\u0027, int)"},{"line_number":96,"context_line":"            - (\u0027offset\u0027, int)"},{"line_number":97,"context_line":"            - (\u0027limit\u0027, int)"},{"line_number":98,"context_line":"        :param sort_key: Key to be sorted (i.e. \u0027created_at\u0027 or \u0027status\u0027)."},{"line_number":99,"context_line":"        :param sort_dir: Sort direction, should be \u0027desc\u0027 or \u0027asc\u0027."},{"line_number":100,"context_line":"        :rtype: list of :class:`ShareGroupSnapshot`"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_3ef1df01","line":97,"range":{"start_line":96,"start_character":14,"end_line":97,"end_character":28},"updated":"2016-11-10 18:29:19.000000000","message":"not used","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"}],"manilaclient/v2/share_group_type_access.py":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"45907cae6bbe12be3e8ecaffee7ffa40ddd37e5e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self._action(\u0027removeProjectAccess\u0027, share_group_type, info)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _action(self, action, share_group_type, info, **kwargs):"},{"line_number":61,"context_line":"        \"\"\"Perform a share group type action.\"\"\""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        body \u003d {action: info}"},{"line_number":64,"context_line":"        self.run_hooks(\u0027modify_body_for_action\u0027, body, **kwargs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3ac371cc_47b013de","line":61,"range":{"start_line":61,"start_character":37,"end_line":61,"end_character":38},"updated":"2016-09-05 12:19:46.000000000","message":"access","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"}],"manilaclient/v2/share_group_types.py":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"45907cae6bbe12be3e8ecaffee7ffa40ddd37e5e","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    @api_versions.wraps(\"2.21\")"},{"line_number":140,"context_line":"    def list(self, show_all\u003dTrue):"},{"line_number":141,"context_line":"        \"\"\"Get a list of all share group types."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        :rtype: list of :class:`ShareGroupType`."},{"line_number":144,"context_line":"        \"\"\""},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3ac371cc_27ed178c","line":142,"updated":"2016-09-05 12:19:46.000000000","message":"missing the show_all parameter description.","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"}],"manilaclient/v2/share_groups.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"4918d463b9b7c56a5abc0dfb855ccf67501fdd87","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        :param detailed: Whether to return detailed share group info or not."},{"line_number":124,"context_line":"        :param search_opts: dict with search options to filter out groups."},{"line_number":125,"context_line":"            available keys include ((\u0027name1\u0027, \u0027name2\u0027, ...), \u0027type\u0027):"},{"line_number":126,"context_line":"            - (\u0027offset\u0027, int)"},{"line_number":127,"context_line":"            - (\u0027limit\u0027, int)"},{"line_number":128,"context_line":"            - (\u0027all_tenants\u0027, int)"},{"line_number":129,"context_line":"        :param sort_key: Key to be sorted (i.e. \u0027created_at\u0027 or \u0027status\u0027)."},{"line_number":130,"context_line":"        :param sort_dir: Sort direction, should be \u0027desc\u0027 or \u0027asc\u0027."}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_9edcab74","line":127,"range":{"start_line":126,"start_character":13,"end_line":127,"end_character":28},"updated":"2016-11-10 18:29:19.000000000","message":"not used","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"4918d463b9b7c56a5abc0dfb855ccf67501fdd87","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            available keys include ((\u0027name1\u0027, \u0027name2\u0027, ...), \u0027type\u0027):"},{"line_number":126,"context_line":"            - (\u0027offset\u0027, int)"},{"line_number":127,"context_line":"            - (\u0027limit\u0027, int)"},{"line_number":128,"context_line":"            - (\u0027all_tenants\u0027, int)"},{"line_number":129,"context_line":"        :param sort_key: Key to be sorted (i.e. \u0027created_at\u0027 or \u0027status\u0027)."},{"line_number":130,"context_line":"        :param sort_dir: Sort direction, should be \u0027desc\u0027 or \u0027asc\u0027."},{"line_number":131,"context_line":"        :rtype: list of :class:`ShareGroup`"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_9e958b88","line":128,"range":{"start_line":128,"start_character":14,"end_line":128,"end_character":34},"updated":"2016-11-10 18:29:19.000000000","message":"\"all_tenants\" is not really used, but should.","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"}],"manilaclient/v2/shell.py":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"45907cae6bbe12be3e8ecaffee7ffa40ddd37e5e","unresolved":false,"context_lines":[{"line_number":2882,"context_line":"    group_type_dict \u003d {"},{"line_number":2883,"context_line":"        \u0027ID\u0027: group_type.id,"},{"line_number":2884,"context_line":"        \u0027Name\u0027: group_type.name,"},{"line_number":2885,"context_line":"        \u0027Visibility\u0027: _is_share_type_public(group_type),"},{"line_number":2886,"context_line":"        \u0027is_default\u0027: _is_default(group_type),"},{"line_number":2887,"context_line":"    }"},{"line_number":2888,"context_line":"    cliutils.print_dict(group_type_dict)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_73bcfa05","line":2885,"range":{"start_line":2885,"start_character":9,"end_line":2885,"end_character":19},"updated":"2016-09-05 12:19:46.000000000","message":"visibility","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"45907cae6bbe12be3e8ecaffee7ffa40ddd37e5e","unresolved":false,"context_lines":[{"line_number":3096,"context_line":"    type\u003dstr,"},{"line_number":3097,"context_line":"    default\u003dNone,"},{"line_number":3098,"context_line":"    action\u003d\u0027single_alias\u0027,"},{"line_number":3099,"context_line":"    help\u003d\"Group type name or ID of the group to be created.\")"},{"line_number":3100,"context_line":"@cliutils.arg("},{"line_number":3101,"context_line":"    \u0027--share-network\u0027,"},{"line_number":3102,"context_line":"    \u0027--share_network\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_13dc8ee3","line":3099,"range":{"start_line":3099,"start_character":58,"end_line":3099,"end_character":59},"updated":"2016-09-05 12:19:46.000000000","message":"default\u003dNone","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"45907cae6bbe12be3e8ecaffee7ffa40ddd37e5e","unresolved":false,"context_lines":[{"line_number":3194,"context_line":"@cliutils.arg("},{"line_number":3195,"context_line":"    \u0027--group-type\u0027, \u0027--group-type-id\u0027,"},{"line_number":3196,"context_line":"    \u0027--group_type\u0027, \u0027--group_type_id\u0027,"},{"line_number":3197,"context_line":"    metavar\u003d\u0027\u003cshare_type\u003e\u0027,"},{"line_number":3198,"context_line":"    type\u003dstr,"},{"line_number":3199,"context_line":"    default\u003dNone,"},{"line_number":3200,"context_line":"    action\u003d\u0027single_alias\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_16971c91","line":3197,"range":{"start_line":3197,"start_character":14,"end_line":3197,"end_character":24},"updated":"2016-09-05 12:19:46.000000000","message":"group_type","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"4918d463b9b7c56a5abc0dfb855ccf67501fdd87","unresolved":false,"context_lines":[{"line_number":3549,"context_line":"@api_versions.experimental_api"},{"line_number":3550,"context_line":"def do_group_snapshot_list_members(cs, args):"},{"line_number":3551,"context_line":"    \"\"\"List members of a share group snapshot (Experimental).\"\"\""},{"line_number":3552,"context_line":"    list_of_keys \u003d [\u0027Share ID\u0027, \u0027Size\u0027]"},{"line_number":3553,"context_line":"    if args.columns is not None:"},{"line_number":3554,"context_line":"        list_of_keys \u003d _split_columns(columns\u003dargs.columns)"},{"line_number":3555,"context_line":""},{"line_number":3556,"context_line":"    share_group_snapshot \u003d _find_share_group_snapshot(cs, args.group_snapshot)"},{"line_number":3557,"context_line":"    members \u003d [type(\u0027ShareGroupSnapshotMember\u0027, (object,), member)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_71a54f45","line":3554,"range":{"start_line":3552,"start_character":4,"end_line":3554,"end_character":59},"updated":"2016-11-10 18:29:19.000000000","message":"if args.columns is not None:\n    list_of_keys \u003d _split_columns(columns\u003dargs.columns)\nelse:\n    list_of_keys \u003d [\u0027Share ID\u0027, \u0027Name\u0027, \u0027Size\u0027]","commit_id":"76572c72f071d77c57985a1c19b37b3e7670f181"}]}
