youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit d609edf4f14e56e3dbb3ffc0be057585c0533666
parent 3a99d321a8b7d1efc85199fe06f192118ad4bf2e
Author: Sergey M․ <dstftw@gmail.com>
Date:   Wed, 22 Jul 2015 22:49:00 +0600

[udemy] Handle already-logged-in scenario (Closes #6327)

Diffstat:
Myoutube_dl/extractor/udemy.py | 9++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/youtube_dl/extractor/udemy.py b/youtube_dl/extractor/udemy.py @@ -77,7 +77,11 @@ class UdemyIE(InfoExtractor): login_popup = self._download_webpage( self._LOGIN_URL, None, 'Downloading login popup') - if login_popup == '<div class="run-command close-popup redirect" data-url="https://www.udemy.com/"></div>': + def is_logged(webpage): + return any(p in webpage for p in ['href="https://www.udemy.com/user/logout/', '>Logout<']) + + # already logged in + if is_logged(login_popup): return login_form = self._form_hidden_inputs('login-form', login_popup) @@ -95,8 +99,7 @@ class UdemyIE(InfoExtractor): response = self._download_webpage( request, None, 'Logging in as %s' % username) - if all(logout_pattern not in response - for logout_pattern in ['href="https://www.udemy.com/user/logout/', '>Logout<']): + if not is_logged(response): error = self._html_search_regex( r'(?s)<div[^>]+class="form-errors[^"]*">(.+?)</div>', response, 'error message', default=None)