Skip to content

Commit

Permalink
[pluralsight] Fix subtitles extraction (closes #17726, closes #17728)
Browse files Browse the repository at this point in the history
  • Loading branch information
dstftw committed Oct 1, 2018
1 parent 85fa80d commit 3653431
Showing 1 changed file with 21 additions and 13 deletions.
34 changes: 21 additions & 13 deletions youtube_dl/extractor/pluralsight.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,18 +210,26 @@ def _login(self):

raise ExtractorError('Unable to log in')

def _get_subtitles(self, author, clip_idx, lang, name, duration, video_id):
captions_post = {
'a': author,
'cn': int(clip_idx),
'lc': lang,
'm': name,
}
captions = self._download_json(
'%s/player/retrieve-captions' % self._API_BASE, video_id,
'Downloading captions JSON', 'Unable to download captions JSON',
fatal=False, data=json.dumps(captions_post).encode('utf-8'),
headers={'Content-Type': 'application/json;charset=utf-8'})
def _get_subtitles(self, author, clip_idx, clip_id, lang, name, duration, video_id):
captions = None
if clip_id:
captions = self._download_json(
'%s/transcript/api/v1/caption/json/%s/%s'
% (self._API_BASE, clip_id, lang), video_id,
'Downloading captions JSON', 'Unable to download captions JSON',
fatal=False)
if not captions:
captions_post = {
'a': author,
'cn': int(clip_idx),
'lc': lang,
'm': name,
}
captions = self._download_json(
'%s/player/retrieve-captions' % self._API_BASE, video_id,
'Downloading captions JSON', 'Unable to download captions JSON',
fatal=False, data=json.dumps(captions_post).encode('utf-8'),
headers={'Content-Type': 'application/json;charset=utf-8'})
if captions:
return {
lang: [{
Expand Down Expand Up @@ -413,7 +421,7 @@ def guess_allowed_qualities():

# TODO: other languages?
subtitles = self.extract_subtitles(
author, clip_idx, 'en', name, duration, display_id)
author, clip_idx, clip.get('clipId'), 'en', name, duration, display_id)

return {
'id': clip_id,
Expand Down

0 comments on commit 3653431

Please sign in to comment.