Nick Coghlan added the comment:

We have one of these in Beaker (we didn't need to wait for os.replace, since 
Beaker only runs on Linux): 
http://git.beaker-project.org/cgit/beaker/tree/Common/bkr/common/helpers.py?h=develop#n90

It turns out to be beneficial to separate the three operations in order to 
cooperate more cleanly with other operations on the same file system (in our 
case, we needed to be able to write data uploaded over a network connection to 
the temporary file *before* acquiring an flock when we did the rename).

We also create the file adjacent to the destination, as creating it under the 
/tmp heirarchy and then renaming it is invalid under SELinux (since the 
security context ends up being incorrect).

While Beaker is GPLv2, I'd easily be able to get permission to extract this and 
contribute it to the PSF.

Incidentally, I'm thinking tempfile might actually be a more sensible home for 
this than shutil.

----------
assignee: tarek -> 

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue8604>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to