From 20f9a56e2eb70c2eef4f95e1395574a8667f71dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dzikie=20dro=C5=BCd=C5=BCe?= Date: Fri, 8 Jan 2016 07:20:40 +0100 Subject: [PATCH] moar subdomains --- youtube_dl/extractor/tvp.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/tvp.py b/youtube_dl/extractor/tvp.py index f43b8b614..60181d4ef 100644 --- a/youtube_dl/extractor/tvp.py +++ b/youtube_dl/extractor/tvp.py @@ -4,6 +4,7 @@ VIDEO_LISTING_URL = ('http://www.api.v3.tvp.pl/shared/listing.php' '?dump=json&direct=true&count=-1&parent_id={id}') META_URL = 'http://www.tvp.pl/shared/video_data.php?dump=json&video_id={id}' TOKENIZER_URL = 'http://www.tvp.pl/shared/cdn/tokenizer_v2.php?object_id={id}' +FILE_INFO_URL = 'http://www.tvp.pl/pub/stat/videofileinfo?video_id={id}' IGNORED_MIMETYPES = 'application/vnd.ms-ss', 'application/x-mpegurl' @@ -21,6 +22,10 @@ class TvpApi: json = self._get_json(META_URL, id) return json + def info(self, id): + json = self._get_json(FILE_INFO_URL, id) + return json + def context(self, id): meta = self.meta(id) return meta['context'] @@ -42,7 +47,7 @@ class TvpApi: class TvpIE(InfoExtractor): IE_NAME = 'tvp.pl' - _VALID_URL = r'https?://(?:vod\.|www\.)?tvp\.pl/(?P\d+)/.*' + _VALID_URL = r'https?://(?:vod|www)\.(\w+\.)?tvp\.pl/(?P\d+)/.*' _TESTS = [{ 'url': 'http://vod.tvp.pl/4278035/odc-2', @@ -53,6 +58,15 @@ class TvpIE(InfoExtractor): 'title': 'Ogniem i mieczem, odc. 2', 'description': 'Bohun dowiaduje się o złamaniu przez kniahinię danego mu słowa i wyrusza do Rozłogów. Helenie w ostatniej chwili udaje się uciec dzięki pomocy Zagłoby.' }, + }, { + 'url': 'http://www.rodzinka.tvp.pl/22729075/odc-169', + 'md5': '4dc102e0883555d31b120e8328c02022', + 'info_dict': { + 'id': '22353810', + 'ext': 'mp4', + 'title': 'rodzinka.pl, odc. 169', + 'description': 'Natalia szykuje dla Marii paczkę z ubrankami dla dziecka,\nale ciężko jej się z nimi rozstać – wiążę się z tym zbyt wiele wspomnień. Kacper chce wymusić od Ludwika pieniądze opowiadając o wróżce zębuszcze. A czy zna tak zwanego „Skrzata Dlatata”?', + }, }, { 'url': 'http://vod.tvp.pl/194536/i-seria-odc-13', 'md5': '8aa518c15e5cc32dfe8db400dc921fbb', @@ -165,8 +179,14 @@ class TvpIE(InfoExtractor): str(id), title, description) def _real_extract(self, url): - video_id = self._match_id(url) - ctx = self.api.context(video_id) + id = self._match_id(url) + ctx = self.api.context(id) + if ctx['format_id'] == 0: + file_info = self.api.info(id) + original_id = file_info.get('copy_of_object_id') + if original_id: + ctx = self.api.context(original_id) + is_playlist = ctx['format_id'] == 0 return self._get_playlist(ctx) if is_playlist else self._get_video(ctx)