|
|
|
@ -183,6 +183,8 @@ class PluralsightCourseIE(InfoExtractor):
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
|
course_id = self._match_id(url)
|
|
|
|
|
|
|
|
|
|
# TODO: PSM cookie
|
|
|
|
|
|
|
|
|
|
course = self._download_json(
|
|
|
|
|
'http://www.pluralsight.com/data/course/%s' % course_id,
|
|
|
|
|
course_id, 'Downloading course JSON')
|
|
|
|
@ -194,14 +196,9 @@ class PluralsightCourseIE(InfoExtractor):
|
|
|
|
|
'http://www.pluralsight.com/data/course/content/%s' % course_id,
|
|
|
|
|
course_id, 'Downloading course data JSON')
|
|
|
|
|
|
|
|
|
|
may_not_view = 0
|
|
|
|
|
|
|
|
|
|
entries = []
|
|
|
|
|
for module in course_data:
|
|
|
|
|
for clip in module.get('clips', []):
|
|
|
|
|
if clip.get('userMayViewClip') is False:
|
|
|
|
|
may_not_view += 1
|
|
|
|
|
continue
|
|
|
|
|
player_parameters = clip.get('playerParameters')
|
|
|
|
|
if not player_parameters:
|
|
|
|
|
continue
|
|
|
|
@ -209,9 +206,4 @@ class PluralsightCourseIE(InfoExtractor):
|
|
|
|
|
'http://www.pluralsight.com/training/player?%s' % player_parameters,
|
|
|
|
|
'Pluralsight'))
|
|
|
|
|
|
|
|
|
|
if may_not_view > 0:
|
|
|
|
|
self._downloader.report_warning(
|
|
|
|
|
'There are %d videos in this course that are not available for you. '
|
|
|
|
|
'Upgrade your account to get access to these videos.' % may_not_view)
|
|
|
|
|
|
|
|
|
|
return self.playlist_result(entries, course_id, title, description)
|
|
|
|
|