diff options
author | Kegan <kegan@kegan.info> | 2011-04-23 14:55:40 +0800 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2011-09-15 12:04:54 +0200 |
commit | 36597dc40f311f3b209f92f6fefae7466decc758 (patch) | |
tree | 62110a7eeb34dccbcc467d47b505db78e08f72c8 | |
parent | 9b4556c469d63ec49374f98237e623cfe88cda93 (diff) |
Updated to stamp extracted audio file with HTTP last modified date.
-rwxr-xr-x | youtube-dl | 18 |
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): |