mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-11-23 19:35:19 +01:00
[postprocessor/common:postprocessor/ffmpeg] Generalize utime
This commit is contained in:
parent
bca788ab1d
commit
dd29eb7f81
|
@ -1,6 +1,11 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
from ..utils import PostProcessingError
|
||||
import os
|
||||
|
||||
from ..utils import (
|
||||
PostProcessingError,
|
||||
encodeFilename,
|
||||
)
|
||||
|
||||
|
||||
class PostProcessor(object):
|
||||
|
@ -46,6 +51,12 @@ class PostProcessor(object):
|
|||
"""
|
||||
return None, information # by default, keep file and do nothing
|
||||
|
||||
def try_utime(self, path, atime, mtime, errnote='Cannot update utime of file'):
|
||||
try:
|
||||
os.utime(encodeFilename(path), (atime, mtime))
|
||||
except Exception:
|
||||
self._downloader.report_warning(errnote)
|
||||
|
||||
|
||||
class AudioConversionError(PostProcessingError):
|
||||
pass
|
||||
|
|
|
@ -146,10 +146,7 @@ class FFmpegPostProcessor(PostProcessor):
|
|||
stderr = stderr.decode('utf-8', 'replace')
|
||||
msg = stderr.strip().split('\n')[-1]
|
||||
raise FFmpegPostProcessorError(msg)
|
||||
try:
|
||||
os.utime(encodeFilename(out_path), (oldest_mtime, oldest_mtime))
|
||||
except Exception:
|
||||
self._downloader.report_warning('Cannot update utime of file')
|
||||
self.try_utime(out_path, oldest_mtime, oldest_mtime)
|
||||
|
||||
if self._deletetempfiles:
|
||||
for ipath in input_paths:
|
||||
|
@ -284,10 +281,9 @@ class FFmpegExtractAudioPP(FFmpegPostProcessor):
|
|||
|
||||
# Try to update the date time for extracted audio file.
|
||||
if information.get('filetime') is not None:
|
||||
try:
|
||||
os.utime(encodeFilename(new_path), (time.time(), information['filetime']))
|
||||
except Exception:
|
||||
self._downloader.report_warning('Cannot update utime of audio file')
|
||||
self.try_utime(
|
||||
new_path, time.time(), information['filetime'],
|
||||
errnote='Cannot update utime of audio file')
|
||||
|
||||
information['filepath'] = new_path
|
||||
return self._nopostoverwrites, information
|
||||
|
|
Loading…
Reference in New Issue
Block a user