projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ed84454
)
[egghead:course] Improve (closes #13370)
author
Sergey M․
<dstftw@gmail.com>
Sun, 9 Jul 2017 10:28:42 +0000
(17:28 +0700)
committer
Sergey M․
<dstftw@gmail.com>
Sun, 9 Jul 2017 10:30:49 +0000
(17:30 +0700)
youtube_dl/extractor/egghead.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/egghead.py
b/youtube_dl/extractor/egghead.py
index 01fcdb6cf2587cf1e5c8611a5056116731ec7b97..c86f52319a46464dc9c2f329ceee6e19f8124c7e 100644
(file)
--- a/
youtube_dl/extractor/egghead.py
+++ b/
youtube_dl/extractor/egghead.py
@@
-7,7
+7,7
@@
from .common import InfoExtractor
class EggheadCourseIE(InfoExtractor):
IE_DESC = 'egghead.io course'
IE_NAME = 'egghead:course'
class EggheadCourseIE(InfoExtractor):
IE_DESC = 'egghead.io course'
IE_NAME = 'egghead:course'
- _VALID_URL = r'https://egghead\.io/courses/(?P<id>[
a-zA-Z_0-9-
]+)'
+ _VALID_URL = r'https://egghead\.io/courses/(?P<id>[
^/?#&
]+)'
_TEST = {
'url': 'https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript',
'playlist_count': 29,
_TEST = {
'url': 'https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript',
'playlist_count': 29,
@@
-20,18
+20,16
@@
class EggheadCourseIE(InfoExtractor):
def _real_extract(self, url):
playlist_id = self._match_id(url)
def _real_extract(self, url):
playlist_id = self._match_id(url)
- api_url = 'https://egghead.io/api/v1/series/' + playlist_id
- course = self._download_json(api_url, playlist_id)
- title = course.get('title')
- description = course.get('description')
- lessons = course.get('lessons')
- entries = [{'_type': 'url', 'ie_key': 'Wistia', 'url': 'wistia:' + l.get('wistia_id')} for l in lessons]
+ course = self._download_json(
+ 'https://egghead.io/api/v1/series/%s' % playlist_id, playlist_id)
- return {
- '_type': 'playlist',
- 'id': playlist_id,
- 'title': title,
- 'description': description,
- 'entries': entries,
- }
+ entries = [
+ self.url_result(
+ 'wistia:%s' % lesson['wistia_id'], ie='Wistia',
+ video_id=lesson['wistia_id'], video_title=lesson.get('title'))
+ for lesson in course['lessons'] if lesson.get('wistia_id')]
+
+ return self.playlist_result(
+ entries, playlist_id, course.get('title'),
+ course.get('description'))