aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/pluralsight.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-08-24 08:52:12 +0700
committerSergey M․ <dstftw@gmail.com>2016-08-24 08:52:12 +0700
commit30317f4887178082809706ce8ac9cb989014c8fc (patch)
tree1eaae00db642035e4497898adbe392c9281de51a /youtube_dl/extractor/pluralsight.py
parent8c3e35dd441ceed682da885368f5cd97afb1816e (diff)
[pluralsight] Modernize and make more robust
Diffstat (limited to 'youtube_dl/extractor/pluralsight.py')
-rw-r--r--youtube_dl/extractor/pluralsight.py20
1 files changed, 9 insertions, 11 deletions
diff --git a/youtube_dl/extractor/pluralsight.py b/youtube_dl/extractor/pluralsight.py
index afd3217d9..ea5caefa9 100644
--- a/youtube_dl/extractor/pluralsight.py
+++ b/youtube_dl/extractor/pluralsight.py
@@ -17,7 +17,6 @@ from ..utils import (
int_or_none,
parse_duration,
qualities,
- sanitized_Request,
srt_subtitles_timecode,
urlencode_postdata,
)
@@ -78,12 +77,10 @@ class PluralsightIE(PluralsightBaseIE):
if not post_url.startswith('http'):
post_url = compat_urlparse.urljoin(self._LOGIN_URL, post_url)
- request = sanitized_Request(
- post_url, urlencode_postdata(login_form))
- request.add_header('Content-Type', 'application/x-www-form-urlencoded')
-
response = self._download_webpage(
- request, None, 'Logging in as %s' % username)
+ post_url, None, 'Logging in as %s' % username,
+ data=urlencode_postdata(login_form),
+ headers={'Content-Type': 'application/x-www-form-urlencoded'})
error = self._search_regex(
r'<span[^>]+class="field-validation-error"[^>]*>([^<]+)</span>',
@@ -128,6 +125,8 @@ class PluralsightIE(PluralsightBaseIE):
continue
end = duration if num == len(subs) - 1 else float_or_none(
subs[num + 1].get('DisplayTimeOffset'))
+ if end is None:
+ continue
srt += os.linesep.join(
(
'%d' % num,
@@ -246,13 +245,12 @@ class PluralsightIE(PluralsightBaseIE):
'mt': ext,
'q': '%dx%d' % (f['width'], f['height']),
}
- request = sanitized_Request(
- '%s/training/Player/ViewClip' % self._API_BASE,
- json.dumps(clip_post).encode('utf-8'))
- request.add_header('Content-Type', 'application/json;charset=utf-8')
format_id = '%s-%s' % (ext, quality)
clip_url = self._download_webpage(
- request, display_id, 'Downloading %s URL' % format_id, fatal=False)
+ '%s/training/Player/ViewClip' % self._API_BASE, display_id,
+ 'Downloading %s URL' % format_id, fatal=False,
+ data=json.dumps(clip_post).encode('utf-8'),
+ headers={'Content-Type': 'application/json;charset=utf-8'})
# Pluralsight tracks multiple sequential calls to ViewClip API and start
# to return 429 HTTP errors after some time (see