1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-09-03 16:45:17 +00:00

Use os.replace where applicable (#793)

When using 
```py
os.remove(encodeFilename(filename))
os.rename(encodeFilename(temp_filename), encodeFilename(filename))
```
the `os.remove` need not be atomic and so can be executed arbitrarily compared to the immediately following rename call. It is better to use `os.replace` instead

Authored by: paulwrubel
This commit is contained in:
Paul Wrubel
2021-08-26 21:27:20 -05:00
committed by GitHub
parent 691d5823d6
commit d75201a873
5 changed files with 10 additions and 18 deletions

View File

@ -84,8 +84,7 @@ class SponSkrubPP(PostProcessor):
stdout = process_communicate_or_kill(p)[0]
if p.returncode == 0:
os.remove(encodeFilename(filename))
os.rename(encodeFilename(temp_filename), encodeFilename(filename))
os.replace(temp_filename, filename)
self.to_screen('Sponsor sections have been %s' % ('removed' if self.cutout else 'marked'))
elif p.returncode == 3:
self.to_screen('No segments in the SponsorBlock database')