mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	Completely change project name to yt-dlp (#85)
* All modules and binary names are changed * All documentation references changed * yt-dlp no longer loads youtube-dlc config files * All URLs changed to point to organization account Co-authored-by: Pccode66 Co-authored-by: pukkandan
This commit is contained in:
		
							
								
								
									
										92
									
								
								yt_dlp/extractor/sport5.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								yt_dlp/extractor/sport5.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,92 @@ | ||||
| # coding: utf-8 | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import re | ||||
|  | ||||
| from .common import InfoExtractor | ||||
| from ..utils import ExtractorError | ||||
|  | ||||
|  | ||||
| class Sport5IE(InfoExtractor): | ||||
|     _VALID_URL = r'https?://(?:www|vod)?\.sport5\.co\.il/.*\b(?:Vi|docID)=(?P<id>\d+)' | ||||
|     _TESTS = [ | ||||
|         { | ||||
|             'url': 'http://vod.sport5.co.il/?Vc=147&Vi=176331&Page=1', | ||||
|             'info_dict': { | ||||
|                 'id': 's5-Y59xx1-GUh2', | ||||
|                 'ext': 'mp4', | ||||
|                 'title': 'ולנסיה-קורדובה 0:3', | ||||
|                 'description': 'אלקאסר, גאייה ופגולי סידרו לקבוצה של נונו ניצחון על קורדובה ואת המקום הראשון בליגה', | ||||
|                 'duration': 228, | ||||
|                 'categories': list, | ||||
|             }, | ||||
|             'skip': 'Blocked outside of Israel', | ||||
|         }, { | ||||
|             'url': 'http://www.sport5.co.il/articles.aspx?FolderID=3075&docID=176372&lang=HE', | ||||
|             'info_dict': { | ||||
|                 'id': 's5-SiXxx1-hKh2', | ||||
|                 'ext': 'mp4', | ||||
|                 'title': 'GOALS_CELTIC_270914.mp4', | ||||
|                 'description': '', | ||||
|                 'duration': 87, | ||||
|                 'categories': list, | ||||
|             }, | ||||
|             'skip': 'Blocked outside of Israel', | ||||
|         } | ||||
|     ] | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         mobj = re.match(self._VALID_URL, url) | ||||
|         media_id = mobj.group('id') | ||||
|  | ||||
|         webpage = self._download_webpage(url, media_id) | ||||
|  | ||||
|         video_id = self._html_search_regex(r'clipId=([\w-]+)', webpage, 'video id') | ||||
|  | ||||
|         metadata = self._download_xml( | ||||
|             'http://sport5-metadata-rr-d.nsacdn.com/vod/vod/%s/HDS/metadata.xml' % video_id, | ||||
|             video_id) | ||||
|  | ||||
|         error = metadata.find('./Error') | ||||
|         if error is not None: | ||||
|             raise ExtractorError( | ||||
|                 '%s returned error: %s - %s' % ( | ||||
|                     self.IE_NAME, | ||||
|                     error.find('./Name').text, | ||||
|                     error.find('./Description').text), | ||||
|                 expected=True) | ||||
|  | ||||
|         title = metadata.find('./Title').text | ||||
|         description = metadata.find('./Description').text | ||||
|         duration = int(metadata.find('./Duration').text) | ||||
|  | ||||
|         posters_el = metadata.find('./PosterLinks') | ||||
|         thumbnails = [{ | ||||
|             'url': thumbnail.text, | ||||
|             'width': int(thumbnail.get('width')), | ||||
|             'height': int(thumbnail.get('height')), | ||||
|         } for thumbnail in posters_el.findall('./PosterIMG')] if posters_el is not None else [] | ||||
|  | ||||
|         categories_el = metadata.find('./Categories') | ||||
|         categories = [ | ||||
|             cat.get('name') for cat in categories_el.findall('./Category') | ||||
|         ] if categories_el is not None else [] | ||||
|  | ||||
|         formats = [{ | ||||
|             'url': fmt.text, | ||||
|             'ext': 'mp4', | ||||
|             'vbr': int(fmt.get('bitrate')), | ||||
|             'width': int(fmt.get('width')), | ||||
|             'height': int(fmt.get('height')), | ||||
|         } for fmt in metadata.findall('./PlaybackLinks/FileURL')] | ||||
|         self._sort_formats(formats) | ||||
|  | ||||
|         return { | ||||
|             'id': video_id, | ||||
|             'title': title, | ||||
|             'description': description, | ||||
|             'thumbnails': thumbnails, | ||||
|             'duration': duration, | ||||
|             'categories': categories, | ||||
|             'formats': formats, | ||||
|         } | ||||
		Reference in New Issue
	
	Block a user
	 Pccode66
					Pccode66