diff --git a/youtube_dl/extractor/audiomack.py b/youtube_dl/extractor/audiomack.py index 04386f7f7..622b20989 100644 --- a/youtube_dl/extractor/audiomack.py +++ b/youtube_dl/extractor/audiomack.py @@ -26,13 +26,13 @@ class AudiomackIE(InfoExtractor): { 'add_ie': ['Soundcloud'], 'url': 'http://www.audiomack.com/song/xclusiveszone/take-kare', - 'file': '172419696.mp3', - 'info_dict': - { + 'info_dict': { + 'id': '172419696', + 'ext': 'mp3', 'description': 'md5:1fc3272ed7a635cce5be1568c2822997', 'title': 'Young Thug ft Lil Wayne - Take Kare', - 'uploader':'Young Thug World', - 'upload_date':'20141016', + 'uploader': 'Young Thug World', + 'upload_date': '20141016', } }, ] diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index e80a2dad0..5b5e33cea 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -819,7 +819,8 @@ class InfoExtractor(object): return res def _set_cookie(self, domain, name, value, expire_time=None): - cookie = compat_cookiejar.Cookie(0, name, value, None, None, domain, None, + cookie = compat_cookiejar.Cookie( + 0, name, value, None, None, domain, None, None, '/', True, False, expire_time, '', None, None, None) self._downloader.cookiejar.set_cookie(cookie) diff --git a/youtube_dl/extractor/myspace.py b/youtube_dl/extractor/myspace.py index e62614670..83414a232 100644 --- a/youtube_dl/extractor/myspace.py +++ b/youtube_dl/extractor/myspace.py @@ -88,6 +88,7 @@ class MySpaceIE(InfoExtractor): self.report_warning( '%s: No downloadable song on this page' % video_id) return + def search_data(name): return self._search_regex( r'''data-%s=([\'"])(?P.*?)\1''' % name, diff --git a/youtube_dl/extractor/udemy.py b/youtube_dl/extractor/udemy.py index 0e4d386a8..5271611ac 100644 --- a/youtube_dl/extractor/udemy.py +++ b/youtube_dl/extractor/udemy.py @@ -97,11 +97,8 @@ class UdemyIE(InfoExtractor): if 'returnUrl' not in response: raise ExtractorError('Unable to log in') - - def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - lecture_id = mobj.group('id') + lecture_id = self._match_id(url) lecture = self._download_json( 'https://www.udemy.com/api-1.1/lectures/%s' % lecture_id, diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 1cba40387..f452a90d8 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -44,9 +44,10 @@ class YoutubeBaseInfoExtractor(InfoExtractor): _LOGIN_REQUIRED = False def _set_language(self): - self._set_cookie('.youtube.com', 'PREF', 'f1=50000000&hl=en', + self._set_cookie( + '.youtube.com', 'PREF', 'f1=50000000&hl=en', # YouTube sets the expire time to about two months - expire_time=time.time() + 60*24*3600) + expire_time=time.time() + 2 * 30 * 24 * 3600) def _login(self): """ @@ -722,9 +723,11 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor): # We fallback to the get_video_info pages (used by the embed page) self.report_video_info_webpage_download(video_id) for el_type in ['&el=embedded', '&el=detailpage', '&el=vevo', '']: - video_info_url = (proto + '://www.youtube.com/get_video_info?&video_id=%s%s&ps=default&eurl=&gl=US&hl=en' - % (video_id, el_type)) - video_info_webpage = self._download_webpage(video_info_url, + video_info_url = ( + '%s://www.youtube.com/get_video_info?&video_id=%s%s&ps=default&eurl=&gl=US&hl=en' + % (proto, video_id, el_type)) + video_info_webpage = self._download_webpage( + video_info_url, video_id, note=False, errnote='unable to download video info webpage') video_info = compat_parse_qs(video_info_webpage)