mirror of
				https://github.com/ytdl-org/youtube-dl
				synced 2025-10-31 09:43:32 +00:00 
			
		
		
		
	[cspan] add support for audio only pages and catch page errors(closes #14995)
This commit is contained in:
		
							parent
							
								
									549bb416f5
								
							
						
					
					
						commit
						7e81010987
					
				| @ -4,13 +4,14 @@ import re | |||||||
| 
 | 
 | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     int_or_none, |  | ||||||
|     unescapeHTML, |  | ||||||
|     find_xpath_attr, |  | ||||||
|     smuggle_url, |  | ||||||
|     determine_ext, |     determine_ext, | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     extract_attributes, |     extract_attributes, | ||||||
|  |     find_xpath_attr, | ||||||
|  |     get_element_by_class, | ||||||
|  |     int_or_none, | ||||||
|  |     smuggle_url, | ||||||
|  |     unescapeHTML, | ||||||
| ) | ) | ||||||
| from .senateisvp import SenateISVPIE | from .senateisvp import SenateISVPIE | ||||||
| from .ustream import UstreamIE | from .ustream import UstreamIE | ||||||
| @ -68,6 +69,10 @@ class CSpanIE(InfoExtractor): | |||||||
|             'uploader': 'HouseCommittee', |             'uploader': 'HouseCommittee', | ||||||
|             'uploader_id': '12987475', |             'uploader_id': '12987475', | ||||||
|         }, |         }, | ||||||
|  |     }, { | ||||||
|  |         # Audio Only | ||||||
|  |         'url': 'https://www.c-span.org/video/?437336-1/judiciary-antitrust-competition-policy-consumer-rights', | ||||||
|  |         'only_matching': True, | ||||||
|     }] |     }] | ||||||
|     BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/%s/%s_%s/index.html?videoId=%s' |     BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/%s/%s_%s/index.html?videoId=%s' | ||||||
| 
 | 
 | ||||||
| @ -111,7 +116,15 @@ class CSpanIE(InfoExtractor): | |||||||
|                     title = self._og_search_title(webpage) |                     title = self._og_search_title(webpage) | ||||||
|                     surl = smuggle_url(senate_isvp_url, {'force_title': title}) |                     surl = smuggle_url(senate_isvp_url, {'force_title': title}) | ||||||
|                     return self.url_result(surl, 'SenateISVP', video_id, title) |                     return self.url_result(surl, 'SenateISVP', video_id, title) | ||||||
|  |                 video_id = self._search_regex( | ||||||
|  |                     r'jwsetup\.clipprog\s*=\s*(\d+);', | ||||||
|  |                     webpage, 'jwsetup program id', default=None) | ||||||
|  |                 if video_id: | ||||||
|  |                     video_type = 'program' | ||||||
|         if video_type is None or video_id is None: |         if video_type is None or video_id is None: | ||||||
|  |             error_message = get_element_by_class('VLplayer-error-message', webpage) | ||||||
|  |             if error_message: | ||||||
|  |                 raise ExtractorError(error_message) | ||||||
|             raise ExtractorError('unable to find video id and type') |             raise ExtractorError('unable to find video id and type') | ||||||
| 
 | 
 | ||||||
|         def get_text_attr(d, attr): |         def get_text_attr(d, attr): | ||||||
| @ -138,7 +151,7 @@ class CSpanIE(InfoExtractor): | |||||||
|         entries = [] |         entries = [] | ||||||
|         for partnum, f in enumerate(files): |         for partnum, f in enumerate(files): | ||||||
|             formats = [] |             formats = [] | ||||||
|             for quality in f['qualities']: |             for quality in f.get('qualities', []): | ||||||
|                 formats.append({ |                 formats.append({ | ||||||
|                     'format_id': '%s-%sp' % (get_text_attr(quality, 'bitrate'), get_text_attr(quality, 'height')), |                     'format_id': '%s-%sp' % (get_text_attr(quality, 'bitrate'), get_text_attr(quality, 'height')), | ||||||
|                     'url': unescapeHTML(get_text_attr(quality, 'file')), |                     'url': unescapeHTML(get_text_attr(quality, 'file')), | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Remita Amine
						Remita Amine