mirror of
https://github.com/ytdl-org/youtube-dl
synced 2024-12-23 04:30:10 +09:00
[pluralsight] fix clip id extraction(fixes #16460)
This commit is contained in:
parent
1306f5ed72
commit
a3f86160fa
@ -140,10 +140,10 @@ class PluralsightIE(PluralsightBaseIE):
|
|||||||
|
|
||||||
raise ExtractorError('Unable to log in')
|
raise ExtractorError('Unable to log in')
|
||||||
|
|
||||||
def _get_subtitles(self, author, clip_id, lang, name, duration, video_id):
|
def _get_subtitles(self, author, clip_idx, lang, name, duration, video_id):
|
||||||
captions_post = {
|
captions_post = {
|
||||||
'a': author,
|
'a': author,
|
||||||
'cn': clip_id,
|
'cn': clip_idx,
|
||||||
'lc': lang,
|
'lc': lang,
|
||||||
'm': name,
|
'm': name,
|
||||||
}
|
}
|
||||||
@ -195,13 +195,13 @@ class PluralsightIE(PluralsightBaseIE):
|
|||||||
|
|
||||||
author = qs.get('author', [None])[0]
|
author = qs.get('author', [None])[0]
|
||||||
name = qs.get('name', [None])[0]
|
name = qs.get('name', [None])[0]
|
||||||
clip_id = qs.get('clip', [None])[0]
|
clip_idx = qs.get('clip', [None])[0]
|
||||||
course_name = qs.get('course', [None])[0]
|
course_name = qs.get('course', [None])[0]
|
||||||
|
|
||||||
if any(not f for f in (author, name, clip_id, course_name,)):
|
if any(not f for f in (author, name, clip_idx, course_name,)):
|
||||||
raise ExtractorError('Invalid URL', expected=True)
|
raise ExtractorError('Invalid URL', expected=True)
|
||||||
|
|
||||||
display_id = '%s-%s' % (name, clip_id)
|
display_id = '%s-%s' % (name, clip_idx)
|
||||||
|
|
||||||
course = self._download_course(course_name, url, display_id)
|
course = self._download_course(course_name, url, display_id)
|
||||||
|
|
||||||
@ -217,7 +217,7 @@ class PluralsightIE(PluralsightBaseIE):
|
|||||||
clip_index = clip_.get('index')
|
clip_index = clip_.get('index')
|
||||||
if clip_index is None:
|
if clip_index is None:
|
||||||
continue
|
continue
|
||||||
if compat_str(clip_index) == clip_id:
|
if compat_str(clip_index) == clip_idx:
|
||||||
clip = clip_
|
clip = clip_
|
||||||
break
|
break
|
||||||
|
|
||||||
@ -225,6 +225,7 @@ class PluralsightIE(PluralsightBaseIE):
|
|||||||
raise ExtractorError('Unable to resolve clip')
|
raise ExtractorError('Unable to resolve clip')
|
||||||
|
|
||||||
title = clip['title']
|
title = clip['title']
|
||||||
|
clip_id = clip.get('clipName') or clip.get('name') or clip['clipId']
|
||||||
|
|
||||||
QUALITIES = {
|
QUALITIES = {
|
||||||
'low': {'width': 640, 'height': 480},
|
'low': {'width': 640, 'height': 480},
|
||||||
@ -277,7 +278,7 @@ class PluralsightIE(PluralsightBaseIE):
|
|||||||
clip_post = {
|
clip_post = {
|
||||||
'author': author,
|
'author': author,
|
||||||
'includeCaptions': False,
|
'includeCaptions': False,
|
||||||
'clipIndex': int(clip_id),
|
'clipIndex': int(clip_idx),
|
||||||
'courseName': course_name,
|
'courseName': course_name,
|
||||||
'locale': 'en',
|
'locale': 'en',
|
||||||
'moduleName': name,
|
'moduleName': name,
|
||||||
@ -330,10 +331,10 @@ class PluralsightIE(PluralsightBaseIE):
|
|||||||
|
|
||||||
# TODO: other languages?
|
# TODO: other languages?
|
||||||
subtitles = self.extract_subtitles(
|
subtitles = self.extract_subtitles(
|
||||||
author, clip_id, 'en', name, duration, display_id)
|
author, clip_idx, 'en', name, duration, display_id)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'id': clip.get('clipName') or clip['name'],
|
'id': clip_id,
|
||||||
'title': title,
|
'title': title,
|
||||||
'duration': duration,
|
'duration': duration,
|
||||||
'creator': author,
|
'creator': author,
|
||||||
|
Loading…
Reference in New Issue
Block a user