From 54153fb71bb6846040823abd3ce3ff0eb96e5b44 Mon Sep 17 00:00:00 2001
From: Sipherdrakon <64430430+Sipherdrakon@users.noreply.github.com>
Date: Sun, 29 Aug 2021 17:50:58 -0400
Subject: [PATCH] [VH1,TVLand] Fix extractors (#784)

Fixes #745 but not #713
Authored by: Sipherdrakon
---
 yt_dlp/extractor/mtv.py    |  4 ++++
 yt_dlp/extractor/nick.py   |  5 +----
 yt_dlp/extractor/tvland.py |  5 +++--
 yt_dlp/extractor/vh1.py    | 25 +++++++++----------------
 4 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/yt_dlp/extractor/mtv.py b/yt_dlp/extractor/mtv.py
index e446a955b..6b506ad9a 100644
--- a/yt_dlp/extractor/mtv.py
+++ b/yt_dlp/extractor/mtv.py
@@ -313,6 +313,10 @@ class MTVServicesInfoExtractor(InfoExtractor):
             video_player = self._extract_child_with_type(ab_testing or main_container, 'VideoPlayer')
             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
 
     def _real_extract(self, url):
diff --git a/yt_dlp/extractor/nick.py b/yt_dlp/extractor/nick.py
index 084538d71..ba7da7602 100644
--- a/yt_dlp/extractor/nick.py
+++ b/yt_dlp/extractor/nick.py
@@ -67,6 +67,7 @@ class NickIE(MTVServicesInfoExtractor):
             'description': 'md5:9d65a66df38e02254852794b2809d1cf',
             'title': 'Blue\'s Imagination Station',
         },
+        'skip': 'Not accessible?'
     }]
 
     def _get_feed_query(self, uri):
@@ -75,10 +76,6 @@ class NickIE(MTVServicesInfoExtractor):
             '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):
         domain, video_type, display_id = self._match_valid_url(url).groups()
         if video_type.startswith("episodes"):
diff --git a/yt_dlp/extractor/tvland.py b/yt_dlp/extractor/tvland.py
index 225b6b078..9ebf57f74 100644
--- a/yt_dlp/extractor/tvland.py
+++ b/yt_dlp/extractor/tvland.py
@@ -1,12 +1,12 @@
 # coding: utf-8
 from __future__ import unicode_literals
 
-from .spike import ParamountNetworkIE
+from .mtv import MTVServicesInfoExtractor
 
 # TODO: Remove - Reason not used anymore - Service moved to youtube
 
 
-class TVLandIE(ParamountNetworkIE):
+class TVLandIE(MTVServicesInfoExtractor):
     IE_NAME = 'tvland.com'
     _VALID_URL = r'https?://(?:www\.)?tvland\.com/(?:video-clips|(?:full-)?episodes)/(?P<id>[^/?#.]+)'
     _FEED_URL = 'http://www.tvland.com/feeds/mrss/'
@@ -19,6 +19,7 @@ class TVLandIE(ParamountNetworkIE):
             'title': 'The Dog',
         },
         'playlist_mincount': 5,
+        'skip': '404 Not found',
     }, {
         'url': 'https://www.tvland.com/video-clips/4n87f2/younger-a-first-look-at-younger-season-6',
         'md5': 'e2c6389401cf485df26c79c247b08713',
diff --git a/yt_dlp/extractor/vh1.py b/yt_dlp/extractor/vh1.py
index ea576dc6b..862c5c7dc 100644
--- a/yt_dlp/extractor/vh1.py
+++ b/yt_dlp/extractor/vh1.py
@@ -10,22 +10,22 @@ class VH1IE(MTVServicesInfoExtractor):
     IE_NAME = 'vh1.com'
     _FEED_URL = 'http://www.vh1.com/feeds/mrss/'
     _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': {
-            'title': 'Kent Jones vs. Nick Young',
-            'description': 'Come to Play. Stay to Party. With Mike Epps, TIP, O’Shea Jackson Jr., T-Pain, Tisha Campbell-Martin and more.',
+            'title': 'Fousheé',
+            '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,
+        'skip': '404 Not found',
     }, {
         # 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': {
-            'id': '0a50c2d2-a86b-4141-9565-911c7e2d0b92',
+            'id': 'a07563f7-a37b-4e7f-af68-85855c2c7cc3',
             'ext': 'mp4',
-            'title': 'Scared Famous|October 9, 2017|1|NO-EPISODE#|Scared Famous + Extended Preview',
-            'description': 'md5:eff5551a274c473a29463de40f7b09da',
-            'upload_date': '20171009',
-            'timestamp': 1507574700,
+            'title': 'Fousheé - "clap for him"',
+            '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': '20210826',
         },
         'params': {
             # m3u8 download
@@ -34,10 +34,3 @@ class VH1IE(MTVServicesInfoExtractor):
     }]
 
     _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