diff --git a/youtube_dl/extractor/atresplayer.py b/youtube_dl/extractor/atresplayer.py index ff72b1552..ff1083eb9 100644 --- a/youtube_dl/extractor/atresplayer.py +++ b/youtube_dl/extractor/atresplayer.py @@ -17,11 +17,14 @@ except ImportError: class AtresPlayerIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?atresplayer\.com/[^/]+/[^/]+/[^/]+/[^/]+/[^/_]+_(?P[A-z0-9]+)/?' + _VALID_URL = r'https?://(?:www\.)?atresplayer\.com/[^/]+/[^/]+/' \ + r'[^/]+/[^/]+/[^/_]+_(?P[A-z0-9]+)/?' _NETRC_MACHINE = 'atresplayer' _TESTS = [ { - 'url': 'https://www.atresplayer.com/lasexta/programas/el-intermedio/temporada-12/el-intermedio-21-05-18_5b03068d7ed1a8a94b3faf29/', + 'url': 'https://www.atresplayer.com/lasexta/programas/el-' + 'intermedio/temporada-12/el-intermedio-21-05-18_' + '5b03068d7ed1a8a94b3faf29/', 'md5': '3afa3d3cc155264374916f2a23d1d00c', 'info_dict': { 'id': '5b03068d7ed1a8a94b3faf29', @@ -33,14 +36,19 @@ class AtresPlayerIE(InfoExtractor): 'skip': 'required_registered', }, { - 'url': 'http://www.atresplayer.com/television/series/el-secreto-de-puente-viejo/el-chico-de-los-tres-lunares/capitulo-977-29-12-14_2014122400174.html', + 'url': 'http://www.atresplayer.com/television/series/' + 'el-secreto-de-puente-viejo/el-chico-de-los-' + 'tres-lunares/capitulo-977-29-12-14_' + '2014122400174.html', 'only_matching': True, }, ] _USER_AGENT = 'Dalvik/1.6.0 (Linux; U; Android 4.3; GT-I9300 Build/JSS15J' - _PLAYER_URL_TEMPLATE = 'https://api.atresplayer.com/client/v1/page/episode/%s' - _LOGIN_URL = 'https://api.atresplayer.com/login?redirect=https%3A%2F%2Fwww.atresplayer.com' + _PLAYER_URL_TEMPLATE = 'https://api.atresplayer.com/client/v1/page/' \ + 'episode/%s' + _LOGIN_URL = 'https://api.atresplayer.com/login?redirect=https%3A%2F%2F' \ + 'www.atresplayer.com' _LOGIN_ACCOUNT_URL = 'https://account.atresmedia.com/api/login' def _real_initialize(self): @@ -73,7 +81,8 @@ class AtresPlayerIE(InfoExtractor): else: raise else: - self._download_webpage(response['targetUrl'], None, 'Set login session') + self._download_webpage(response['targetUrl'], None, + 'Set login session') def _atres_player_error(self, body_response, original_exception): try: @@ -82,7 +91,8 @@ class AtresPlayerIE(InfoExtractor): return original_exception if isinstance(data, dict) and 'error' in data: return ExtractorError('{} returned error: {} ({})'.format( - self.IE_NAME, data['error'], data.get('error_description', 'There is no description') + self.IE_NAME, data['error'], data.get( + 'error_description', 'There is no description') ), expected=True) else: return original_exception @@ -93,7 +103,8 @@ class AtresPlayerIE(InfoExtractor): request = sanitized_Request( self._PLAYER_URL_TEMPLATE % video_id, headers={'User-Agent': self._USER_AGENT}) - player = self._download_json(request, video_id, 'Downloading player JSON') + player = self._download_json(request, video_id, + 'Downloading player JSON') formats = [] video_url = player.get('urlVideo') @@ -102,7 +113,9 @@ class AtresPlayerIE(InfoExtractor): video_url, headers={'User-Agent': self._USER_AGENT}) try: - video_data = self._download_json(request, video_id, 'Downloading video JSON', fatal=True) + video_data = self._download_json(request, video_id, + 'Downloading video JSON', + fatal=True) except ExtractorError as e: if len(e.exc_info) <= 1 or e.exc_info[1].code != 403: raise