mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[downloader/dash] Add testing facility
This commit is contained in:
		| @@ -16,12 +16,21 @@ class DashSegmentsFD(FileDownloader): | ||||
|         base_url = info_dict['url'] | ||||
|         segment_urls = info_dict['segment_urls'] | ||||
|  | ||||
|         is_test = self.params.get('test', False) | ||||
|         remaining_bytes = self._TEST_FILE_SIZE if is_test else None | ||||
|         byte_counter = 0 | ||||
|  | ||||
|         def append_url_to_file(outf, target_url, target_name): | ||||
|         def append_url_to_file(outf, target_url, target_name, remaining_bytes=None): | ||||
|             self.to_screen('[DashSegments] %s: Downloading %s' % (info_dict['id'], target_name)) | ||||
|             req = compat_urllib_request.Request(target_url) | ||||
|             if remaining_bytes is not None: | ||||
|                 req.add_header('Range', 'bytes=0-%d' % (remaining_bytes - 1)) | ||||
|  | ||||
|             data = self.ydl.urlopen(req).read() | ||||
|  | ||||
|             if remaining_bytes is not None: | ||||
|                 data = data[:remaining_bytes] | ||||
|  | ||||
|             outf.write(data) | ||||
|             return len(data) | ||||
|  | ||||
| @@ -37,8 +46,13 @@ class DashSegmentsFD(FileDownloader): | ||||
|             for i, segment_url in enumerate(segment_urls): | ||||
|                 segment_len = append_url_to_file( | ||||
|                     outf, combine_url(base_url, segment_url), | ||||
|                     'segment %d / %d' % (i + 1, len(segment_urls))) | ||||
|                     'segment %d / %d' % (i + 1, len(segment_urls)), | ||||
|                     remaining_bytes) | ||||
|                 byte_counter += segment_len | ||||
|                 if remaining_bytes is not None: | ||||
|                     remaining_bytes -= segment_len | ||||
|                     if remaining_bytes <= 0: | ||||
|                         break | ||||
|  | ||||
|         self.try_rename(tmpfilename, filename) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yen Chi Hsuan
					Yen Chi Hsuan