several adjustments according to the code review

This commit is contained in:
Ondrej Zara 2017-07-18 16:04:02 +02:00
parent c4ad62274d
commit 611c5af425

View File

@ -12,6 +12,7 @@ from ..compat import (
from ..utils import ( from ..utils import (
ExtractorError, ExtractorError,
float_or_none, float_or_none,
str_or_none,
sanitized_Request, sanitized_Request,
unescapeHTML, unescapeHTML,
urlencode_postdata, urlencode_postdata,
@ -94,10 +95,10 @@ class CeskaTelevizeIE(InfoExtractor):
type_ = None type_ = None
episode_id = None episode_id = None
is_decko = "decko.ceskatelevize.cz" in url is_decko = 'decko.ceskatelevize.cz' in url
if is_decko: if is_decko:
type_ = "episode" type_ = 'episode'
episode_id = compat_urllib_parse_unquote(playlist_id) episode_id = compat_urllib_parse_unquote(playlist_id)
episode_id = episode_id.replace(" ", "").replace("_", "") episode_id = episode_id.replace(" ", "").replace("_", "")
else: else:
@ -302,28 +303,35 @@ class CeskaTelevizePoradyIE(InfoExtractor):
class CeskaTelevizeDeckoIE(InfoExtractor): class CeskaTelevizeDeckoIE(InfoExtractor):
_VALID_URL = r'https?://decko.ceskatelevize.cz/(?P<id>[a-z-]+)$' _VALID_URL = r'https?://decko.ceskatelevize.cz/(?P<id>[a-z-]+)(\?.*)?$'
_TEST = { _TESTS = [{
'url': 'http://decko.ceskatelevize.cz/nejmensi-slon-na-svete', 'url': 'http://decko.ceskatelevize.cz/nejmensi-slon-na-svete',
'playlist_count': 13 'playlist_count': 13
} }, {
'url': 'http://decko.ceskatelevize.cz/nejmensi-slon-na-svete?foo=bar',
'playlist_count': 13
}]
def _real_extract(self, url): def _real_extract(self, url):
video_id = self._match_id(url) video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
idec = self._html_search_regex(r'var\s+IDEC\s+=\s+\'(.+?)\'', webpage, 'IDEC') idec = self._html_search_regex(r'var\s+IDEC\s*=\s*\'(.+?)\'', webpage, 'IDEC')
args = compat_urllib_parse_urlencode({"IDEC":idec}) args = compat_urllib_parse_urlencode({'IDEC':idec})
url = "http://decko.ceskatelevize.cz/rest/Programme/relatedVideosForEpisode?" + args url = 'http://decko.ceskatelevize.cz/rest/Programme/relatedVideosForEpisode?' + args
json = self._download_json(url, video_id) json = self._download_json(url, video_id)
episodes = json.get("episodes", []) episodes = json.get('episodes', [])
entries = [] entries = []
for episode in episodes: for episode in episodes:
idec = episode.get("episode", {}).get("IDEC") idec = str_or_none(episode.get('episode', {}).get('IDEC'))
idec = idec.replace(" ", "").replace("/", "") if idec is None:
url = "http://decko.ceskatelevize.cz/video/" + idec continue
idec = idec.replace(' ', '').replace('/', '')
url = 'http://decko.ceskatelevize.cz/video/' + idec
entries.append(self.url_result(url)) entries.append(self.url_result(url))
return { return {