about summary refs log tree commit diff
path: root/youtube_dl/extractor/lynda.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-06-10 23:01:52 +0700
committerSergey M․ <dstftw@gmail.com>2016-06-10 23:01:52 +0700
commit3841256c2c5fd35229cd8f2c2c8a8e2401f7016b (patch)
tree8d08b126ffb1058a2bd7d2067824ade803de9d9f /youtube_dl/extractor/lynda.py
parentbdf16f81403c036a0f40d10a136a46aa7d2f6f0d (diff)
downloadyoutube-dl-3841256c2c5fd35229cd8f2c2c8a8e2401f7016b.tar.gz
youtube-dl-3841256c2c5fd35229cd8f2c2c8a8e2401f7016b.tar.xz
youtube-dl-3841256c2c5fd35229cd8f2c2c8a8e2401f7016b.zip
[lynda] Skip login if already logged in
Diffstat (limited to 'youtube_dl/extractor/lynda.py')
-rw-r--r--youtube_dl/extractor/lynda.py16
1 files changed, 5 insertions, 11 deletions
diff --git a/youtube_dl/extractor/lynda.py b/youtube_dl/extractor/lynda.py
index c2678652e..7610985b4 100644
--- a/youtube_dl/extractor/lynda.py
+++ b/youtube_dl/extractor/lynda.py
@@ -71,6 +71,11 @@ class LyndaBaseIE(InfoExtractor):
         signin_page = self._download_webpage(
             self._SIGNIN_URL, None, 'Downloading signin page')
 
+        # Already logged in
+        if any(re.search(p, signin_page) for p in (
+                'isLoggedIn\s*:\s*true', r'logout\.aspx', r'>Log out<')):
+            return
+
         # Step 2: submit email
         signin_form = self._search_regex(
             r'(?s)(<form[^>]+data-form-name=["\']signin["\'][^>]*>.+?</form>)',
@@ -85,15 +90,6 @@ class LyndaBaseIE(InfoExtractor):
             password_form, self._USER_URL, {'email': username, 'password': password},
             'Submitting password', signin_url)
 
-    def _logout(self):
-        username, _ = self._get_login_info()
-        if username is None:
-            return
-
-        self._download_webpage(
-            'http://www.lynda.com/ajax/logout.aspx', None,
-            'Logging out', 'Unable to log out', fatal=False)
-
 
 class LyndaIE(LyndaBaseIE):
     IE_NAME = 'lynda'
@@ -217,8 +213,6 @@ class LyndaCourseIE(LyndaBaseIE):
             'http://www.lynda.com/ajax/player?courseId=%s&type=course' % course_id,
             course_id, 'Downloading course JSON')
 
-        self._logout()
-
         if course.get('Status') == 'NotFound':
             raise ExtractorError(
                 'Course %s does not exist' % course_id, expected=True)