[downloader/http] Finish downloading once received data length matches expected
authorSergey M․ <dstftw@gmail.com>
Tue, 5 May 2020 13:01:25 +0000 (20:01 +0700)
committerSergey M․ <dstftw@gmail.com>
Tue, 5 May 2020 14:43:39 +0000 (21:43 +0700)
Always do this if possible, i.e. if Content-Length or expected length is known, not only in test.
This will save unnecessary last extra loop trying to read 0 bytes.

youtube_dl/downloader/http.py

index 3c72ea18b2304befd5221960503ff5b6141304c3..970103a8ddcca661f01fe7c3837e0050871b542d 100644 (file)
@@ -299,7 +299,7 @@ class HttpFD(FileDownloader):
                     'elapsed': now - ctx.start_time,
                 })
 
-                if is_test and byte_counter == data_len:
+                if data_len is not None and byte_counter == data_len:
                     break
 
             if not is_test and ctx.chunk_size and ctx.data_len is not None and byte_counter < ctx.data_len: