commit: e7c3e33456e155106ad08347d8ab9a2ecd0c8a11
parent 757984af90ce924f917ce9d940ebd120e95a4c4e
Author: Sergey M․ <dstftw@gmail.com>
Date: Thu, 14 Sep 2017 23:19:53 +0700
[downloader/fragment] Restart inconsistent incomplete fragment downloads (#13731)
Diffstat:
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/youtube_dl/downloader/fragment.py b/youtube_dl/downloader/fragment.py
@@ -151,10 +151,15 @@ class FragmentFD(FileDownloader):
if self.__do_ytdl_file(ctx):
if os.path.isfile(encodeFilename(self.ytdl_filename(ctx['filename']))):
self._read_ytdl_file(ctx)
+ if ctx['fragment_index'] > 0 and resume_len == 0:
+ self.report_error(
+ 'Inconsistent state of incomplete fragment download. '
+ 'Restarting from the beginning...')
+ ctx['fragment_index'] = resume_len = 0
+ self._write_ytdl_file(ctx)
else:
self._write_ytdl_file(ctx)
- if ctx['fragment_index'] > 0:
- assert resume_len > 0
+ assert ctx['fragment_index'] == 0
dest_stream, tmpfilename = sanitize_open(tmpfilename, open_mode)