diff options
author | Paul Wrubel <pwrubel7@gmail.com> | 2021-08-26 21:27:20 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-27 07:57:20 +0530 |
commit | d75201a873a413d73f12748e5710f000e9f727da (patch) | |
tree | 6d60de6dbbf3892dc2e5d49c6c78e4e0123174fd /yt_dlp/postprocessor/sponskrub.py | |
parent | 691d5823d6ff72b813eb34ede8009b70bebd73da (diff) | |
download | hypervideo-pre-d75201a873a413d73f12748e5710f000e9f727da.tar.lz hypervideo-pre-d75201a873a413d73f12748e5710f000e9f727da.tar.xz hypervideo-pre-d75201a873a413d73f12748e5710f000e9f727da.zip |
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
Diffstat (limited to 'yt_dlp/postprocessor/sponskrub.py')
-rw-r--r-- | yt_dlp/postprocessor/sponskrub.py | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/yt_dlp/postprocessor/sponskrub.py b/yt_dlp/postprocessor/sponskrub.py index 73b6b4a20..588f0ae12 100644 --- a/yt_dlp/postprocessor/sponskrub.py +++ b/yt_dlp/postprocessor/sponskrub.py @@ -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') |