diff options
| -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): | 
