From 4b769d40ea80899236efc8fdc885c489f3dfe7b0 Mon Sep 17 00:00:00 2001 From: Enes Date: Mon, 6 May 2019 04:05:06 +0300 Subject: [PATCH 1/2] Update kanald.py --- youtube_dl/extractor/kanald.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/youtube_dl/extractor/kanald.py b/youtube_dl/extractor/kanald.py index b1e387b0c..fd4653f3c 100644 --- a/youtube_dl/extractor/kanald.py +++ b/youtube_dl/extractor/kanald.py @@ -4,11 +4,7 @@ from __future__ import unicode_literals import re from .common import InfoExtractor -from ..compat import compat_str -from ..utils import ( - merge_dicts, - urljoin, -) +from ..utils import merge_dicts class KanaldBaseIE(InfoExtractor): From fbf0c21b33f340afe454cdb2d75d7d873280b20b Mon Sep 17 00:00:00 2001 From: Enes Date: Mon, 6 May 2019 14:38:00 +0300 Subject: [PATCH 2/2] Update kanald.py --- youtube_dl/extractor/kanald.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/youtube_dl/extractor/kanald.py b/youtube_dl/extractor/kanald.py index fd4653f3c..57b27a169 100644 --- a/youtube_dl/extractor/kanald.py +++ b/youtube_dl/extractor/kanald.py @@ -4,7 +4,10 @@ from __future__ import unicode_literals import re from .common import InfoExtractor -from ..utils import merge_dicts +from ..utils import ( + merge_dicts, + try_get, +) class KanaldBaseIE(InfoExtractor): @@ -20,15 +23,17 @@ class KanaldBaseIE(InfoExtractor): """FIXME: https://www.kanald.com.tr/kuzeyguney/80-bolum-izle/19364 -> Invalid control character at: line 5 column 146 (char 255)""" - json_ld = self._search_regex( + search_json_ld = self._search_regex( r'(?is)]+type=(["\'])application/ld\+json\1[^>]*>(?:\s+)?(?P{[^<]+VideoObject[^<]+})(?:\s+)?', webpage, 'JSON-LD', group='json_ld') - ld_info = self._json_ld(json_ld, video_id) + json_ld = self._parse_json(search_json_ld, video_id) - if not re.match(r'dogannet\.tv', ld_info['url']): - ld_info.update({ - 'url': 'https://soledge13.dogannet.tv/%s' % ld_info['url'] + if not re.match(r'dogannet\.tv', json_ld['contentUrl']): + json_ld.update({ + 'contentUrl': 'https://soledge13.dogannet.tv/%s' % json_ld['contentUrl'] }) + ld_info = self._json_ld(json_ld, video_id) + return merge_dicts(ld_info, info) @@ -118,7 +123,7 @@ class KanaldSerieIE(InfoExtractor): continue for episode_url in episode_urls: - episode_url = episode_url[1] + episode_url = try_get(episode_url, lambda x: x[1]) if not episode_url: continue yield self.url_result(