Browse Source

[pluralsight] Detect agreement request (#14913)

Sergey M․ 7 years ago
parent
commit
c94427dd60
1 changed files with 7 additions and 0 deletions
  1. 7 0
      youtube_dl/extractor/pluralsight.py

+ 7 - 0
youtube_dl/extractor/pluralsight.py

@@ -131,6 +131,13 @@ class PluralsightIE(PluralsightBaseIE):
             if BLOCKED in response:
             if BLOCKED in response:
                 raise ExtractorError(
                 raise ExtractorError(
                     'Unable to login: %s' % BLOCKED, expected=True)
                     'Unable to login: %s' % BLOCKED, expected=True)
+            MUST_AGREE = 'To continue using Pluralsight, you must agree to'
+            if any(p in response for p in (MUST_AGREE, '>Disagree<', '>Agree<')):
+                raise ExtractorError(
+                    'Unable to login: %s some documents. Go to pluralsight.com, '
+                    'log in and agree with what Pluralsight requires.'
+                    % MUST_AGREE, expected=True)
+
             raise ExtractorError('Unable to log in')
             raise ExtractorError('Unable to log in')
 
 
     def _get_subtitles(self, author, clip_id, lang, name, duration, video_id):
     def _get_subtitles(self, author, clip_id, lang, name, duration, video_id):