diff options
author | Remita Amine <[email protected]> | 2016-06-28 18:07:50 +0100 |
---|---|---|
committer | Remita Amine <[email protected]> | 2017-04-19 11:46:07 +0100 |
commit | 75a24854073e590f4efc9f037b57dee348f52b61 (patch) | |
tree | 8ccc05313462f98128ff03da3912b2fa828df2f0 /youtube_dl/downloader/common.py | |
parent | 58f6ab72ed74c2ab1b6d3885ef2c407465d8c6c2 (diff) | |
download | youtube-dl-75a24854073e590f4efc9f037b57dee348f52b61.tar.gz youtube-dl-75a24854073e590f4efc9f037b57dee348f52b61.zip |
[fragment,hls,f4m,dash,ism] improve fragment downloading
- resume immediately
- no need to concatenate segments and decrypt them on every resume
- no need to save temp files for segments
and for hls downloader:
- no need to download keys for segments that already downloaded
Diffstat (limited to 'youtube_dl/downloader/common.py')
-rw-r--r-- | youtube_dl/downloader/common.py | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/youtube_dl/downloader/common.py b/youtube_dl/downloader/common.py index 2c4470a95..fdb77b620 100644 --- a/youtube_dl/downloader/common.py +++ b/youtube_dl/downloader/common.py @@ -327,21 +327,22 @@ class FileDownloader(object): os.path.exists(encodeFilename(filename)) ) - continuedl_and_exists = ( - self.params.get('continuedl', True) and - os.path.isfile(encodeFilename(filename)) and - not self.params.get('nopart', False) - ) - - # Check file already present - if filename != '-' and (nooverwrites_and_exists or continuedl_and_exists): - self.report_file_already_downloaded(filename) - self._hook_progress({ - 'filename': filename, - 'status': 'finished', - 'total_bytes': os.path.getsize(encodeFilename(filename)), - }) - return True + if not hasattr(filename, 'write'): + continuedl_and_exists = ( + self.params.get('continuedl', True) and + os.path.isfile(encodeFilename(filename)) and + not self.params.get('nopart', False) + ) + + # Check file already present + if filename != '-' and (nooverwrites_and_exists or continuedl_and_exists): + self.report_file_already_downloaded(filename) + self._hook_progress({ + 'filename': filename, + 'status': 'finished', + 'total_bytes': os.path.getsize(encodeFilename(filename)), + }) + return True min_sleep_interval = self.params.get('sleep_interval') if min_sleep_interval: |