1
0
Fork 0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2024-11-28 13:11:49 +00:00

Added unittests for kankids extractor.

Fixed a non p- playlist id matching bug.
This commit is contained in:
deepspy 2024-06-24 17:40:43 +03:00
parent c9265f6d60
commit 162eb5632b

View file

@ -10,28 +10,34 @@ DOMAIN = r'kankids.org.il'
class KanKidsIE(InfoExtractor): class KanKidsIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?' +\ _VALID_URL = r'https?://(?:www\.)?' +\
DOMAIN.replace('.', '\.') + CONTENT_DIR +\ DOMAIN.replace('.', '\.') + CONTENT_DIR +\
r'(?P<category>[a-z]+)-main/p-(?P<id>[0-9]+)/(?P<season>\w+)?/?$' r'(?P<category>[a-z]+)-main/(?P<id>[\w\-0-9]+)/(?P<season>\w+)?/?$'
_TEST = { _TESTS = [
'url': 'https://www.kankids.org.il/content/kids/hinuchit-main/p-12050/', {
'md5': 'TODO: md5 sum of the first 10241 bytes of the video file (use --test)', 'url': 'https://www.kankids.org.il/content/kids/ktantanim-main/p-11732/',
'info_dict': { 'info_dict': {
'id': '42', '_type': 'playlist',
'ext': 'mp4', 'id': 'p-11732',
'title': 'Video title goes here', 'title': 'בית ספר לקוסמים',
'thumbnail': r're:^https?://.*\.jpg$', },
# TODO more properties, either as: 'playlist_count': 60,
# * A value },
# * MD5 checksum; start the string with md5: {
# * A regular expression; start the string with re: 'url': 'https://www.kankids.org.il/content/kids/hinuchit-main/cramel_main/s1/',
# * Any Python type (for example int or float) 'info_dict': {
} '_type': 'playlist',
} 'id': 'cramel_main',
'title': 'כראמל - עונה 1',
},
'playlist_count': 21,
},
]
def _real_extract(self, url): def _real_extract(self, url):
m = super()._match_valid_url(url) m = super()._match_valid_url(url)
series_id = m.group('id') series_id = m.group('id')
category = m.group('category') category = m.group('category')
playlist_season = m.group('season') playlist_season = m.group('season')
print(m.groupdict())
webpage = self._download_webpage(url, series_id) webpage = self._download_webpage(url, series_id)
@ -46,7 +52,7 @@ class KanKidsIE(InfoExtractor):
content_dir = CONTENT_DIR + category + r'-main/' content_dir = CONTENT_DIR + category + r'-main/'
playlist = set(re.findall( playlist = set(re.findall(
r'href="' + content_dir + # Content dir r'href="' + content_dir + # Content dir
r'p-' + series_id + r'/' + # Series series_id + r'/' + # Series
season + r'/' + # Season season + r'/' + # Season
r'(?P<id>[0-9]+)/"' + # Episode r'(?P<id>[0-9]+)/"' + # Episode
r'.+title="(?P<title>.+)"' # Title r'.+title="(?P<title>.+)"' # Title