mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 08:35:12 +00:00 
			
		
		
		
	[VH1,TVLand] Fix extractors (#784)
Fixes #745 but not #713 Authored by: Sipherdrakon
This commit is contained in:
		@@ -313,6 +313,10 @@ class MTVServicesInfoExtractor(InfoExtractor):
 | 
				
			|||||||
            video_player = self._extract_child_with_type(ab_testing or main_container, 'VideoPlayer')
 | 
					            video_player = self._extract_child_with_type(ab_testing or main_container, 'VideoPlayer')
 | 
				
			||||||
            mgid = video_player['props']['media']['video']['config']['uri']
 | 
					            mgid = video_player['props']['media']['video']['config']['uri']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if not mgid:
 | 
				
			||||||
 | 
					            mgid = self._search_regex(
 | 
				
			||||||
 | 
					                r'"media":{"video":{"config":{"uri":"(mgid:.*?)"', webpage, 'mgid', default=None)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return mgid
 | 
					        return mgid
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def _real_extract(self, url):
 | 
					    def _real_extract(self, url):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -67,6 +67,7 @@ class NickIE(MTVServicesInfoExtractor):
 | 
				
			|||||||
            'description': 'md5:9d65a66df38e02254852794b2809d1cf',
 | 
					            'description': 'md5:9d65a66df38e02254852794b2809d1cf',
 | 
				
			||||||
            'title': 'Blue\'s Imagination Station',
 | 
					            'title': 'Blue\'s Imagination Station',
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        'skip': 'Not accessible?'
 | 
				
			||||||
    }]
 | 
					    }]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def _get_feed_query(self, uri):
 | 
					    def _get_feed_query(self, uri):
 | 
				
			||||||
@@ -75,10 +76,6 @@ class NickIE(MTVServicesInfoExtractor):
 | 
				
			|||||||
            'mgid': uri,
 | 
					            'mgid': uri,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def _extract_mgid(self, webpage):
 | 
					 | 
				
			||||||
        mgid = self._search_regex(r'"media":{"video":{"config":{"uri":"(mgid:.*?)"', webpage, 'mgid', default=None)
 | 
					 | 
				
			||||||
        return mgid
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def _real_extract(self, url):
 | 
					    def _real_extract(self, url):
 | 
				
			||||||
        domain, video_type, display_id = self._match_valid_url(url).groups()
 | 
					        domain, video_type, display_id = self._match_valid_url(url).groups()
 | 
				
			||||||
        if video_type.startswith("episodes"):
 | 
					        if video_type.startswith("episodes"):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,12 @@
 | 
				
			|||||||
# coding: utf-8
 | 
					# coding: utf-8
 | 
				
			||||||
from __future__ import unicode_literals
 | 
					from __future__ import unicode_literals
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .spike import ParamountNetworkIE
 | 
					from .mtv import MTVServicesInfoExtractor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# TODO: Remove - Reason not used anymore - Service moved to youtube
 | 
					# TODO: Remove - Reason not used anymore - Service moved to youtube
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class TVLandIE(ParamountNetworkIE):
 | 
					class TVLandIE(MTVServicesInfoExtractor):
 | 
				
			||||||
    IE_NAME = 'tvland.com'
 | 
					    IE_NAME = 'tvland.com'
 | 
				
			||||||
    _VALID_URL = r'https?://(?:www\.)?tvland\.com/(?:video-clips|(?:full-)?episodes)/(?P<id>[^/?#.]+)'
 | 
					    _VALID_URL = r'https?://(?:www\.)?tvland\.com/(?:video-clips|(?:full-)?episodes)/(?P<id>[^/?#.]+)'
 | 
				
			||||||
    _FEED_URL = 'http://www.tvland.com/feeds/mrss/'
 | 
					    _FEED_URL = 'http://www.tvland.com/feeds/mrss/'
 | 
				
			||||||
@@ -19,6 +19,7 @@ class TVLandIE(ParamountNetworkIE):
 | 
				
			|||||||
            'title': 'The Dog',
 | 
					            'title': 'The Dog',
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        'playlist_mincount': 5,
 | 
					        'playlist_mincount': 5,
 | 
				
			||||||
 | 
					        'skip': '404 Not found',
 | 
				
			||||||
    }, {
 | 
					    }, {
 | 
				
			||||||
        'url': 'https://www.tvland.com/video-clips/4n87f2/younger-a-first-look-at-younger-season-6',
 | 
					        'url': 'https://www.tvland.com/video-clips/4n87f2/younger-a-first-look-at-younger-season-6',
 | 
				
			||||||
        'md5': 'e2c6389401cf485df26c79c247b08713',
 | 
					        'md5': 'e2c6389401cf485df26c79c247b08713',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,22 +10,22 @@ class VH1IE(MTVServicesInfoExtractor):
 | 
				
			|||||||
    IE_NAME = 'vh1.com'
 | 
					    IE_NAME = 'vh1.com'
 | 
				
			||||||
    _FEED_URL = 'http://www.vh1.com/feeds/mrss/'
 | 
					    _FEED_URL = 'http://www.vh1.com/feeds/mrss/'
 | 
				
			||||||
    _TESTS = [{
 | 
					    _TESTS = [{
 | 
				
			||||||
        'url': 'http://www.vh1.com/episodes/0umwpq/hip-hop-squares-kent-jones-vs-nick-young-season-1-ep-120',
 | 
					        'url': 'https://www.vh1.com/episodes/0aqivv/nick-cannon-presents-wild-n-out-foushee-season-16-ep-12',
 | 
				
			||||||
        'info_dict': {
 | 
					        'info_dict': {
 | 
				
			||||||
            'title': 'Kent Jones vs. Nick Young',
 | 
					            'title': 'Fousheé',
 | 
				
			||||||
            'description': 'Come to Play. Stay to Party. With Mike Epps, TIP, O’Shea Jackson Jr., T-Pain, Tisha Campbell-Martin and more.',
 | 
					            'description': 'Fousheé joins Team Evolutions fight against Nick and Team Revolution in Baby Daddy, Baby Mama; Kick Em Out the Classroom; Backseat of My Ride and Wildstyle; and Fousheé performs.',
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        'playlist_mincount': 4,
 | 
					        'playlist_mincount': 4,
 | 
				
			||||||
 | 
					        'skip': '404 Not found',
 | 
				
			||||||
    }, {
 | 
					    }, {
 | 
				
			||||||
        # Clip
 | 
					        # Clip
 | 
				
			||||||
        'url': 'http://www.vh1.com/video-clips/t74mif/scared-famous-scared-famous-extended-preview',
 | 
					        'url': 'https://www.vh1.com/video-clips/e0sja0/nick-cannon-presents-wild-n-out-foushee-clap-for-him',
 | 
				
			||||||
        'info_dict': {
 | 
					        'info_dict': {
 | 
				
			||||||
            'id': '0a50c2d2-a86b-4141-9565-911c7e2d0b92',
 | 
					            'id': 'a07563f7-a37b-4e7f-af68-85855c2c7cc3',
 | 
				
			||||||
            'ext': 'mp4',
 | 
					            'ext': 'mp4',
 | 
				
			||||||
            'title': 'Scared Famous|October 9, 2017|1|NO-EPISODE#|Scared Famous + Extended Preview',
 | 
					            'title': 'Fousheé - "clap for him"',
 | 
				
			||||||
            'description': 'md5:eff5551a274c473a29463de40f7b09da',
 | 
					            'description': 'Singer Fousheé hits the Wild N Out: In the Dark stage with a performance of the tongue-in-cheek track "clap for him" from her 2021 album "time machine."',
 | 
				
			||||||
            'upload_date': '20171009',
 | 
					            'upload_date': '20210826',
 | 
				
			||||||
            'timestamp': 1507574700,
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        'params': {
 | 
					        'params': {
 | 
				
			||||||
            # m3u8 download
 | 
					            # m3u8 download
 | 
				
			||||||
@@ -34,10 +34,3 @@ class VH1IE(MTVServicesInfoExtractor):
 | 
				
			|||||||
    }]
 | 
					    }]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _VALID_URL = r'https?://(?:www\.)?vh1\.com/(?:video-clips|episodes)/(?P<id>[^/?#.]+)'
 | 
					    _VALID_URL = r'https?://(?:www\.)?vh1\.com/(?:video-clips|episodes)/(?P<id>[^/?#.]+)'
 | 
				
			||||||
 | 
					 | 
				
			||||||
    def _real_extract(self, url):
 | 
					 | 
				
			||||||
        playlist_id = self._match_id(url)
 | 
					 | 
				
			||||||
        webpage = self._download_webpage(url, playlist_id)
 | 
					 | 
				
			||||||
        mgid = self._extract_triforce_mgid(webpage)
 | 
					 | 
				
			||||||
        videos_info = self._get_videos_info(mgid)
 | 
					 | 
				
			||||||
        return videos_info
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user