)]}'
{"keystone/token/providers/fernet/utils.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f07222809646fd289b08934c5a3f512e0a615fb2","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    is_valid \u003d (os.access(CONF.fernet_tokens.key_repository, os.R_OK) and"},{"line_number":35,"context_line":"                os.access(CONF.fernet_tokens.key_repository, os.X_OK))"},{"line_number":36,"context_line":"    if requires_write:"},{"line_number":37,"context_line":"        is_valid \u003d (is_valid and"},{"line_number":38,"context_line":"                    os.access(CONF.fernet_tokens.key_repository, os.W_OK))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    if not is_valid:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_77fcfbb4","line":37,"updated":"2015-12-14 16:48:38.000000000","message":"This is equivalent to:\n\n  is_valid \u0026\u003d os.access(CONF.fernet_tokens.key_repository, os.W_OK)","commit_id":"0aaa3ab1710c3bd9ca7800cc2156a483bd463a11"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f07222809646fd289b08934c5a3f512e0a615fb2","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                os.access(CONF.fernet_tokens.key_repository, os.X_OK))"},{"line_number":36,"context_line":"    if requires_write:"},{"line_number":37,"context_line":"        is_valid \u003d (is_valid and"},{"line_number":38,"context_line":"                    os.access(CONF.fernet_tokens.key_repository, os.W_OK))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    if not is_valid:"},{"line_number":41,"context_line":"        LOG.error("}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_b7e4a30c","line":38,"updated":"2015-12-14 16:48:38.000000000","message":"Since we\u0027re checking them separately anyway -- in the event that we\u0027re missing write permission, it\u0027d be handy to log a more specific error message just regarding write permission, rather than logging the same generic error message in either condition.","commit_id":"0aaa3ab1710c3bd9ca7800cc2156a483bd463a11"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f07222809646fd289b08934c5a3f512e0a615fb2","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    else:"},{"line_number":46,"context_line":"        # ensure the key repository isn\u0027t world-readable"},{"line_number":47,"context_line":"        stat_info \u003d os.stat(CONF.fernet_tokens.key_repository)"},{"line_number":48,"context_line":"        if(stat_info.st_mode \u0026 stat.S_IROTH or"},{"line_number":49,"context_line":"           stat_info.st_mode \u0026 stat.S_IXOTH):"},{"line_number":50,"context_line":"            LOG.warning(_LW("},{"line_number":51,"context_line":"                \u0027[fernet_tokens] key_repository is world readable: %s\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_b76fc390","line":48,"updated":"2015-12-14 16:48:38.000000000","message":"By convention, python uses a space after the \"if\" and before the condition expression, because if isn\u0027t a callable.","commit_id":"0aaa3ab1710c3bd9ca7800cc2156a483bd463a11"}]}
