From: Sergey M․ Date: Thu, 14 Sep 2017 16:19:53 +0000 (+0700) Subject: [downloader/fragment] Restart inconsistent incomplete fragment downloads (#13731) X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=e7c3e33456e155106ad08347d8ab9a2ecd0c8a11;p=youtube-dl [downloader/fragment] Restart inconsistent incomplete fragment downloads (#13731) --- diff --git a/youtube_dl/downloader/fragment.py b/youtube_dl/downloader/fragment.py index bccc8ecc1..6f6fb4a77 100644 --- 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)