aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dl/extractor/udemy.py
diff options
context:
space:
mode:
authorRogério Brito <rbrito@ime.usp.br>2018-01-04 03:48:53 -0200
committerRogério Brito <rbrito@ime.usp.br>2018-01-04 03:48:53 -0200
commit9113dfef91df19343cf76c6274dd0a85258c1004 (patch)
tree357bea65ff97d11085714837737d0428fbf40a54 /youtube_dl/extractor/udemy.py
parent80893415fd8cecb59cb8ffbea17a183d4202f02e (diff)
parentb4a0c9f9de9d715538a1718922d6ab01a40f7ce3 (diff)
downloadyoutube-dl-9113dfef91df19343cf76c6274dd0a85258c1004.zip
youtube-dl-9113dfef91df19343cf76c6274dd0a85258c1004.tar.gz
youtube-dl-9113dfef91df19343cf76c6274dd0a85258c1004.tar.bz2
Update upstream source from tag 'upstream/2017.12.31'
Update to upstream version '2017.12.31' with Debian dir 1882f6f128562a71691f1092c6b611d46798c5c4
Diffstat (limited to 'youtube_dl/extractor/udemy.py')
-rw-r--r--youtube_dl/extractor/udemy.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/youtube_dl/extractor/udemy.py b/youtube_dl/extractor/udemy.py
index 207c4a6..195f5ce 100644
--- a/youtube_dl/extractor/udemy.py
+++ b/youtube_dl/extractor/udemy.py
@@ -62,11 +62,11 @@ class UdemyIE(InfoExtractor):
def _extract_course_info(self, webpage, video_id):
course = self._parse_json(
unescapeHTML(self._search_regex(
- r'ng-init=["\'].*\bcourse=({.+?});', webpage, 'course', default='{}')),
+ r'ng-init=["\'].*\bcourse=({.+?})[;"\']',
+ webpage, 'course', default='{}')),
video_id, fatal=False) or {}
course_id = course.get('id') or self._search_regex(
- (r'&quot;id&quot;\s*:\s*(\d+)', r'data-course-id=["\'](\d+)'),
- webpage, 'course id')
+ r'data-course-id=["\'](\d+)', webpage, 'course id')
return course_id, course.get('title')
def _enroll_course(self, base_url, webpage, course_id):
@@ -164,7 +164,7 @@ class UdemyIE(InfoExtractor):
})
response = self._download_webpage(
- self._LOGIN_URL, None, 'Logging in as %s' % username,
+ self._LOGIN_URL, None, 'Logging in',
data=urlencode_postdata(login_form),
headers={
'Referer': self._ORIGIN_URL,
@@ -257,6 +257,11 @@ class UdemyIE(InfoExtractor):
video_url = source.get('file') or source.get('src')
if not video_url or not isinstance(video_url, compat_str):
continue
+ if source.get('type') == 'application/x-mpegURL' or determine_ext(video_url) == 'm3u8':
+ formats.extend(self._extract_m3u8_formats(
+ video_url, video_id, 'mp4', entry_protocol='m3u8_native',
+ m3u8_id='hls', fatal=False))
+ continue
format_id = source.get('label')
f = {
'url': video_url,