)]}'
{"keystoneclient/tests/test_auth_token_middleware.py":[{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"55573b4d5ffd87e8741fa1e1b964ea6af0875a4c","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        self.middleware._iso8601 \u003d iso8601"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        with tempfile.NamedTemporaryFile(delete\u003dFalse) as f:"},{"line_number":275,"context_line":"            pass"},{"line_number":276,"context_line":"        self.middleware.revoked_file_name \u003d f.name"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        def cleanup_revoked_file(filename):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F3k8%3D","line":275,"updated":"2014-01-07 13:16:51.000000000","message":"This is better than previously.\nHowever, I wonder if there isn\u0027t a better way to generate a temporary filename without actually opening it.","commit_id":"55c292d5835e75b99b37f89e862a7d60d88c701d"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"c1e410d84ec5609550f42631bd1bc2695b4ba139","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        self.middleware._iso8601 \u003d iso8601"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        with tempfile.NamedTemporaryFile(delete\u003dFalse) as f:"},{"line_number":275,"context_line":"            pass"},{"line_number":276,"context_line":"        self.middleware.revoked_file_name \u003d f.name"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        def cleanup_revoked_file(filename):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2Fyr4%3D","line":275,"in_reply_to":"AAAAUH%2F%2F2Hk%3D","updated":"2014-01-08 12:23:10.000000000","message":"Thanks for the info, if it can avoid a race condition issue (even with a very low probability), then it\u0027s probably a good thing to keep using this temporary file creation mechanism.","commit_id":"55c292d5835e75b99b37f89e862a7d60d88c701d"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e1c9bc3d98443d2b2aa429b8a5334438a449a09e","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        self.middleware._iso8601 \u003d iso8601"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        with tempfile.NamedTemporaryFile(delete\u003dFalse) as f:"},{"line_number":275,"context_line":"            pass"},{"line_number":276,"context_line":"        self.middleware.revoked_file_name \u003d f.name"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        def cleanup_revoked_file(filename):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F2Hk%3D","line":275,"in_reply_to":"AAAAUH%2F%2F3k8%3D","updated":"2014-01-07 19:09:54.000000000","message":"well the reason it is opened is to prevent a race condition on two processes getting the same temporary file name. It\u0027s fairly unlikely and you could just say that filename \u003d uuid.uuid4().hex or something.","commit_id":"55c292d5835e75b99b37f89e862a7d60d88c701d"}]}
