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