)]}'
{"gnocchi/indexer/sqlalchemy.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"74646eb85fcd9712c9a5d3175254ed49341b6c7e","unresolved":false,"context_lines":[{"line_number":798,"context_line":"                raise indexer.NoSuchResource(resource_id)"},{"line_number":799,"context_line":""},{"line_number":800,"context_line":"    @retry_on_deadlock"},{"line_number":801,"context_line":"    def delete_resources(self, resource_ids):"},{"line_number":802,"context_line":"        with self.facade.writer() as session:"},{"line_number":803,"context_line":"            for resource_id in resource_ids:"},{"line_number":804,"context_line":"                session.query(Metric).filter("}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_04d38e39","line":801,"updated":"2016-08-03 13:22:49.000000000","message":"this doesn\u0027t need to be a new method. you just need to edit existing method to filter against list rather than one id.\n\nsomething using IN condition","commit_id":"e72c6af7b39f0781fde53fd472de40e2baf5dcbb"}],"gnocchi/rest/__init__.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7ff69ba78d90a7c40b8e929cea366b4a1bd96cd8","unresolved":false,"context_lines":[{"line_number":1072,"context_line":"    def post_delete(self, **kwargs):"},{"line_number":1073,"context_line":"        ids \u003d kwargs.get(\u0027ids\u0027, [])"},{"line_number":1074,"context_line":"        for res_id in ids:"},{"line_number":1075,"context_line":"            resource \u003d pecan.request.indexer.get_resource("},{"line_number":1076,"context_line":"                self._resource_type, res_id)"},{"line_number":1077,"context_line":"            if not resource:"},{"line_number":1078,"context_line":"                abort(404, indexer.NoSuchResource(res_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_250aa526","line":1075,"updated":"2016-08-05 08:44:22.000000000","message":"it\u0027s bd better to modify get_resource to get_resources or to use list_resources rather than doing a ton of queries","commit_id":"e72c6af7b39f0781fde53fd472de40e2baf5dcbb"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7ff69ba78d90a7c40b8e929cea366b4a1bd96cd8","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"            if not resource:"},{"line_number":1078,"context_line":"                abort(404, indexer.NoSuchResource(res_id))"},{"line_number":1079,"context_line":"            enforce(\"delete resource\", resource)"},{"line_number":1080,"context_line":"            etag_precondition_check(resource)"},{"line_number":1081,"context_line":"        try:"},{"line_number":1082,"context_line":"            pecan.request.indexer.delete_resources(ids)"},{"line_number":1083,"context_line":"            pecan.response.status \u003d 204"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_403b47d1","line":1080,"updated":"2016-08-05 08:44:22.000000000","message":"I don\u0027t think this is gonna work, as the etag is going to be against _one_ resource and here the user we\u0027ll specify several.\n\nOr you need to add tests to prove to me it works :-P","commit_id":"e72c6af7b39f0781fde53fd472de40e2baf5dcbb"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7ff69ba78d90a7c40b8e929cea366b4a1bd96cd8","unresolved":false,"context_lines":[{"line_number":1080,"context_line":"            etag_precondition_check(resource)"},{"line_number":1081,"context_line":"        try:"},{"line_number":1082,"context_line":"            pecan.request.indexer.delete_resources(ids)"},{"line_number":1083,"context_line":"            pecan.response.status \u003d 204"},{"line_number":1084,"context_line":"        except indexer.IndxerException as e:"},{"line_number":1085,"context_line":"            abort(400, e)"},{"line_number":1086,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_4042273f","line":1083,"updated":"2016-08-05 08:44:22.000000000","message":"This can\u0027t raise IndexerException, so it should be out of the try block","commit_id":"e72c6af7b39f0781fde53fd472de40e2baf5dcbb"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7ff69ba78d90a7c40b8e929cea366b4a1bd96cd8","unresolved":false,"context_lines":[{"line_number":1081,"context_line":"        try:"},{"line_number":1082,"context_line":"            pecan.request.indexer.delete_resources(ids)"},{"line_number":1083,"context_line":"            pecan.response.status \u003d 204"},{"line_number":1084,"context_line":"        except indexer.IndxerException as e:"},{"line_number":1085,"context_line":"            abort(400, e)"},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_203f33b5","line":1084,"range":{"start_line":1084,"start_character":23,"end_line":1084,"end_character":38},"updated":"2016-08-05 08:44:22.000000000","message":"Indexer (typo)","commit_id":"e72c6af7b39f0781fde53fd472de40e2baf5dcbb"}],"gnocchi/tests/test_rest.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7ff69ba78d90a7c40b8e929cea366b4a1bd96cd8","unresolved":false,"context_lines":[{"line_number":1185,"context_line":"                     + self.attributes[\u0027id\u0027],"},{"line_number":1186,"context_line":"                     status\u003d404)"},{"line_number":1187,"context_line":""},{"line_number":1188,"context_line":"    def test_delete_resources(self):"},{"line_number":1189,"context_line":"        attribute_list \u003d [{\"id\": str(uuid.uuid4()),"},{"line_number":1190,"context_line":"                           \"started_at\": \"2014-01-03T02:02:02+00:00\","},{"line_number":1191,"context_line":"                           \"user_id\": str(uuid.uuid4()),"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_206613ed","line":1188,"updated":"2016-08-05 08:44:22.000000000","message":"This should be written as a Gabbi test, we try to stop growing this file","commit_id":"e72c6af7b39f0781fde53fd472de40e2baf5dcbb"}]}
