)]}'
{"swift/common/middleware/bulk.py":[{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"bea5221b093ad29174c3bd36040fa906b8adff23","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    Bulk Delete:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    Will delete multiple files from their account with a single request."},{"line_number":77,"context_line":"    Responds to DELETE requests with a header \u0027X-Bulk-Delete: true_value\u0027."},{"line_number":78,"context_line":"    The body of the DELETE request will be a newline separated list of files"},{"line_number":79,"context_line":"    to delete. The files listed must be URL encoded and in the form:"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F2T4%3D","line":77,"updated":"2012-12-12 19:25:16.000000000","message":"true_value should just be true (I know what you meant, but for clarity)","commit_id":"a5aff2fa4d68229cfc961442c206f6bfae3e4590"},{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"bea5221b093ad29174c3bd36040fa906b8adff23","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                    data_remaining \u003d False"},{"line_number":137,"context_line":"                    file_to_delete \u003d line"},{"line_number":138,"context_line":"            if file_to_delete:"},{"line_number":139,"context_line":"                file_to_delete \u003d unquote(file_to_delete.lstrip(\u0027/\u0027))"},{"line_number":140,"context_line":"                delete_path \u003d \u0027/\u0027.join([\u0027\u0027, vrs, account, file_to_delete])"},{"line_number":141,"context_line":"                if not check_utf8(delete_path):"},{"line_number":142,"context_line":"                    failed_files.append("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F2T8%3D","line":139,"updated":"2012-12-12 19:25:16.000000000","message":"Might do file_to_delete.strip().lstrip(\u0027/\u0027) because of Windows \\r\\n folks","commit_id":"a5aff2fa4d68229cfc961442c206f6bfae3e4590"},{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"482b805a53b95bfbfd5afd1711aef4d1a2559fb3","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    Responds to DELETE requests with a header \u0027X-Bulk-Delete: true\u0027."},{"line_number":78,"context_line":"    The body of the DELETE request will be a newline separated list of url"},{"line_number":79,"context_line":"    encoded objects to delete. You can only delete 1000 (configurable) objects"},{"line_number":80,"context_line":"    per file. The objects listed must be URL encoded and in the form:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    /container_name/obj_name"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2F07c%3D","line":80,"updated":"2013-01-03 15:29:27.000000000","message":"Should \"per file\" be \"per request\" (or \"per DELETE request\")?\n\nAlso, \"list\" is an overloaded word wrt Swift, so that next sentence would be clearer as: \"The objects specified in the DELETE request body must be URL encoded...\"","commit_id":"852114d02ffdbdb221c2376448893382c094cbe6"}],"swift/common/middleware/ratelimit.py":[{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"482b805a53b95bfbfd5afd1711aef4d1a2559fb3","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        :param container_name: container name from path"},{"line_number":176,"context_line":"        :param obj_name: object name from path"},{"line_number":177,"context_line":"        \u0027\u0027\u0027"},{"line_number":178,"context_line":"        if not self.memcache_client:"},{"line_number":179,"context_line":"            return None"},{"line_number":180,"context_line":"        if account_name in self.ratelimit_blacklist:"},{"line_number":181,"context_line":"            self.logger.error(_(\u0027Returning 497 because of blacklisting: %s\u0027),"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2F07I%3D","line":178,"updated":"2013-01-03 15:29:27.000000000","message":"This (good) change should be mentioned in the commit message.","commit_id":"852114d02ffdbdb221c2376448893382c094cbe6"}]}
