)]}'
{"gnocchi/rest/__init__.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"798b3ff04d6b92e53e616d0543c1009437c71e04","unresolved":false,"context_lines":[{"line_number":684,"context_line":"        enforce(\"update resource\", resource)"},{"line_number":685,"context_line":"        # NOTE(jd) Can\u0027t use vexpose because it does not take into account"},{"line_number":686,"context_line":"        # inheritance"},{"line_number":687,"context_line":"        body \u003d deserialize(self.ResourcePatch)"},{"line_number":688,"context_line":"        if len(body) \u003d\u003d 0:"},{"line_number":689,"context_line":"            # Empty update, just check if the resource exists"},{"line_number":690,"context_line":"            if pecan.request.indexer.get_resource("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_3a7c0972","side":"PARENT","line":687,"updated":"2015-02-25 17:01:21.000000000","message":"Actually it\u0027s rather unclear how deserialize could ever return a body with length 0. deserialize will raise various exceptions but never (as far as I can see) an empty string.\n\nSo maybe this chunk can just go away. What do other people think?","commit_id":"f3375f5e26d27ae040667e5dc6bf2cf290b28102"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"73c925d81c20a469a43e982531662d4a6a48e641","unresolved":false,"context_lines":[{"line_number":684,"context_line":"        enforce(\"update resource\", resource)"},{"line_number":685,"context_line":"        # NOTE(jd) Can\u0027t use vexpose because it does not take into account"},{"line_number":686,"context_line":"        # inheritance"},{"line_number":687,"context_line":"        body \u003d deserialize(self.ResourcePatch)"},{"line_number":688,"context_line":"        if len(body) \u003d\u003d 0:"},{"line_number":689,"context_line":"            # Empty update, just check if the resource exists"},{"line_number":690,"context_line":"            if pecan.request.indexer.get_resource("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_c76155d4","side":"PARENT","line":687,"in_reply_to":"ba7be1f8_35e89a7b","updated":"2015-02-25 19:13:56.000000000","message":"Ah, thanks, I was struggling to get the exact details of what is valid.","commit_id":"f3375f5e26d27ae040667e5dc6bf2cf290b28102"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"cf67dbc7cd67358934181a4487ac20b15044ce33","unresolved":false,"context_lines":[{"line_number":684,"context_line":"        enforce(\"update resource\", resource)"},{"line_number":685,"context_line":"        # NOTE(jd) Can\u0027t use vexpose because it does not take into account"},{"line_number":686,"context_line":"        # inheritance"},{"line_number":687,"context_line":"        body \u003d deserialize(self.ResourcePatch)"},{"line_number":688,"context_line":"        if len(body) \u003d\u003d 0:"},{"line_number":689,"context_line":"            # Empty update, just check if the resource exists"},{"line_number":690,"context_line":"            if pecan.request.indexer.get_resource("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_35e89a7b","side":"PARENT","line":687,"in_reply_to":"ba7be1f8_3a7c0972","updated":"2015-02-25 17:37:48.000000000","message":"In case of the posted data is \"{}\", deserialize will returns an empty dict because it\u0027s valid according the schema. So we check the len of the dict to see if the user have plan to update nothing... and then don\u0027t hit to database for nothing.","commit_id":"f3375f5e26d27ae040667e5dc6bf2cf290b28102"}]}
