aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKegan <kegan@kegan.info>2011-04-23 14:55:40 +0800
committerPhilipp Hagemeister <phihag@phihag.de>2011-09-15 12:04:54 +0200
commit36597dc40f311f3b209f92f6fefae7466decc758 (patch)
tree62110a7eeb34dccbcc467d47b505db78e08f72c8
parent9b4556c469d63ec49374f98237e623cfe88cda93 (diff)
Updated to stamp extracted audio file with HTTP last modified date.
-rwxr-xr-xyoutube-dl18
1 files changed, 14 insertions, 4 deletions
diff --git a/youtube-dl b/youtube-dl
index 4f6706e2a..c41228c93 100755
--- a/youtube-dl
+++ b/youtube-dl
@@ -625,11 +625,12 @@ class FileDownloader(object):
return
filetime = timeconvert(timestr)
if filetime is None:
- return
+ return filetime
try:
os.utime(filename, (time.time(), filetime))
except:
pass
+ return filetime
def report_writedescription(self, descfn):
""" Report that the description file is being written """
@@ -772,7 +773,8 @@ class FileDownloader(object):
if not self.params.get('skip_download', False):
try:
- success = self._do_download(filename, info_dict['url'].encode('utf-8'), info_dict.get('player_url', None))
+ success,add_data = self._do_download(filename, info_dict['url'].encode('utf-8'), info_dict.get('player_url', None))
+ info_dict.update(add_data)
except (OSError, IOError), err:
raise UnavailableVideoError
except (urllib2.URLError, httplib.HTTPException, socket.error), err:
@@ -992,10 +994,11 @@ class FileDownloader(object):
self.try_rename(tmpfilename, filename)
# Update file modification time
+ filetime = None
if self.params.get('updatetime', True):
- self.try_utime(filename, data.info().get('last-modified', None))
+ filetime = self.try_utime(filename, data.info().get('last-modified', None))
- return True
+ return True, {'filetime': filetime}
class InfoExtractor(object):
@@ -3355,6 +3358,13 @@ class FFmpegExtractAudioPP(PostProcessor):
self._downloader.to_stderr(u'WARNING: error running ffmpeg')
return None
+ # Try to update the date time for extracted audio file.
+ if information.get('filetime') is not None:
+ try:
+ os.utime(new_path, (time.time(), information['filetime']))
+ except:
+ self._downloader.to_stderr(u'WARNING: Cannot update utime of audio file')
+
try:
os.remove(path)
except (IOError, OSError):