diff options
author | Sergey M․ <dstftw@gmail.com> | 2019-10-02 02:03:22 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2019-10-02 02:03:22 +0700 |
commit | 74bc299453884bc4e802ca225815d3134b9510cf (patch) | |
tree | 4ab33418a42644502a64b833fce7712609b4f464 /youtube_dl/extractor | |
parent | 2906631e1230617883cdef8e227b369a9c98c9fb (diff) |
[teachable] Skip login when already logged in (closes #22572)
Diffstat (limited to 'youtube_dl/extractor')
-rw-r--r-- | youtube_dl/extractor/teachable.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/youtube_dl/extractor/teachable.py b/youtube_dl/extractor/teachable.py index c1a9deafe..7d2e34b3b 100644 --- a/youtube_dl/extractor/teachable.py +++ b/youtube_dl/extractor/teachable.py @@ -48,6 +48,16 @@ class TeachableBaseIE(InfoExtractor): 'https://%s/sign_in' % site, None, 'Downloading %s login page' % site) + def is_logged(webpage): + return any(re.search(p, webpage) for p in ( + r'class=["\']user-signout', + r'<a[^>]+\bhref=["\']/sign_out', + r'Log\s+[Oo]ut\s*<')) + + if is_logged(login_page): + self._logged_in = True + return + login_url = compat_str(urlh.geturl()) login_form = self._hidden_inputs(login_page) @@ -78,10 +88,7 @@ class TeachableBaseIE(InfoExtractor): 'Go to https://%s/ and accept.' % (site, site), expected=True) # Successful login - if any(re.search(p, response) for p in ( - r'class=["\']user-signout', - r'<a[^>]+\bhref=["\']/sign_out', - r'>\s*Log out\s*<')): + if is_logged(response): self._logged_in = True return |