48
47
__slots__ = ['tmpfilename', 'realfilename', '_fd']
50
49
def __init__(self, filename, mode='wb', new_mode=None):
58
self.tmpfilename = '%s.%d.%s.%s.tmp' % (filename, _pid, _hostname,
61
56
self.realfilename = filename
63
58
flags = os.O_EXCL | os.O_CREAT | os.O_WRONLY
65
60
flags |= osutils.O_BINARY
74
67
# Use a low level fd operation to avoid chmodding later.
75
68
# This may not succeed, but it should help most of the time
76
69
self._fd = os.open(self.tmpfilename, flags, local_mode)