[pluralsight] Detect agreement request (#14913)
authorSergey M․ <dstftw@gmail.com>
Tue, 5 Dec 2017 15:34:56 +0000 (22:34 +0700)
committerSergey M․ <dstftw@gmail.com>
Tue, 5 Dec 2017 15:34:56 +0000 (22:34 +0700)
youtube_dl/extractor/pluralsight.py

index 4bf0aa786abc1acd185472ca987d8a6db554f2d9..597b11218394b6c034ef60608ddbb2ab60c0d656 100644 (file)
@@ -131,6 +131,13 @@ class PluralsightIE(PluralsightBaseIE):
             if BLOCKED in response:
                 raise ExtractorError(
                     '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')
 
     def _get_subtitles(self, author, clip_id, lang, name, duration, video_id):