This avoids leaving a truncated output file if we crash. It also
avoids concurrent readers ever seeing a truncated output file.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
global header
global groupfiledir
global sitesfile
+ global outputfile
global group
global user
global of
print("Too many arguments")
sys.exit(1)
(inputfile, outputfile) = (av.arg + [None]*2)[0:2]
- if outputfile is None: of=sys.stdout
- else: of=open(outputfile,'w')
parse_args()
f.close()
os.rename(sitesfile+"-tmp",sitesfile)
else:
+ if outputfile is None:
+ of=sys.stdout
+ else:
+ tmp_outputfile=outputfile+'~tmp~'
+ of=open(tmp_outputfile,'w')
outputsites(of)
+ if outputfile is not None:
+ os.rename(tmp_outputfile,outputfile)