classification
Title: Backporting of atomic file rename to Python 2.7
Type: enhancement Stage: resolved
Components: Library (Lib), Windows Versions: Python 2.7
process
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: Nosy List: christian.heimes, me21, ronaldoussoren
Priority: normal Keywords:

Created on 2013-07-02 10:09 by me21, last changed 2013-07-02 15:23 by christian.heimes. This issue is now closed.

Messages (4)
msg192186 - (view) Author: Alexandr Zarubkin (me21) Date: 2013-07-02 10:09
It would be nice to backport http://bugs.python.org/issue8828 to Python 2.7. For example, Django depends on atomic renames with its file-based sessions, and it still supports Python 2.x.
There was a bug in Django because of this (https://code.djangoproject.com/ticket/9084), and they ended up with non-atomic workaround.
Some other third-party libraries could be affected as well.
msg192190 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2013-07-02 12:26
Issue #8828 adds a new API to the os module, as such it is inappropriate for a back port (no new features in stable releases)
msg192192 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2013-07-02 12:48
Some people have developed a ctypes interface to MoveFileExW(). For example https://github.com/mitsuhiko/python-atomicfile/ .
msg192203 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2013-07-02 15:23
I had some spare time: https://pypi.python.org/pypi/pyosreplace . Please test.
History
Date User Action Args
2013-07-02 15:23:43christian.heimessetmessages: + msg192203
2013-07-02 14:39:21r.david.murraysetstatus: open -> closed
resolution: rejected
stage: resolved
2013-07-02 12:48:34christian.heimessetnosy: + christian.heimes
messages: + msg192192
2013-07-02 12:26:31ronaldoussorensetnosy: + ronaldoussoren
messages: + msg192190
2013-07-02 10:11:39me21settitle: Backporting of issue 8828 to Python 2.7 -> Backporting of atomic file rename to Python 2.7
2013-07-02 10:09:41me21create