]> jfr.im git - yt-dlp.git/commitdiff
[sponskrub] Encode filenames correctly
authorpukkandan <redacted>
Sun, 17 Jan 2021 23:52:47 +0000 (05:22 +0530)
committerpukkandan <redacted>
Mon, 18 Jan 2021 13:53:08 +0000 (19:23 +0530)
youtube_dlc/postprocessor/sponskrub.py

index a8a6e06911a12a1de5e089b9bdc9f938aad44269..f039861ace4f264d802c3a7c668ec7a38eaef7bf 100644 (file)
@@ -7,8 +7,10 @@
 from ..utils import (
     check_executable,
     encodeArgument,
+    encodeFilename,
     shell_quote,
     PostProcessingError,
+    prepend_extension,
 )
 
 
@@ -58,9 +60,9 @@ def run(self, information):
                 self.report_warning('If sponskrub is run multiple times, unintended parts of the video could be cut out.')
 
         filename = information['filepath']
-        temp_filename = filename + '.' + self._temp_ext + os.path.splitext(filename)[1]
-        if os.path.exists(temp_filename):
-            os.remove(temp_filename)
+        temp_filename = prepend_extension(filename, self._temp_ext)
+        if os.path.exists(encodeFilename(temp_filename)):
+            os.remove(encodeFilename(temp_filename))
 
         cmd = [self.path]
         if self.args:
@@ -73,8 +75,8 @@ def run(self, information):
         stdout, stderr = p.communicate()
 
         if p.returncode == 0:
-            os.remove(filename)
-            os.rename(temp_filename, filename)
+            os.remove(encodeFilename(filename))
+            os.rename(encodeFilename(temp_filename), encodeFilename(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')