From 795aea8120640e8acf12f1fc988f662befa26297 Mon Sep 17 00:00:00 2001 From: Enes Date: Wed, 19 Dec 2018 18:40:49 +0300 Subject: [PATCH] [tv8] add support for chapters --- youtube_dl/extractor/tv8.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/tv8.py b/youtube_dl/extractor/tv8.py index 0d26e4a01..cd3effb8f 100644 --- a/youtube_dl/extractor/tv8.py +++ b/youtube_dl/extractor/tv8.py @@ -1,17 +1,22 @@ # coding: utf-8 from __future__ import unicode_literals +import re + from .common import InfoExtractor +from ..utils import ( + int_or_none, +) class TV8IE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?tv8\.com\.tr/[^/]+/(?P[^?#&]+)-video\.htm' + _VALID_URL = r'https?://(?:www\.)?tv8\.com\.tr/[^/]+/(?P[^?#&]+-video-?(?P[0-9]+)?)\.htm' IE_NAME = 'tv8' _TESTS = [{ 'url': 'https://www.tv8.com.tr/yemekteyiz/yemekteyiz-281-bolum-13122018-52578-video.htm', 'md5': '73be7e69708d37eb77643c12e8598b35', 'info_dict': { - 'id': 'yemekteyiz-281-bolum-13122018-52578', + 'id': 'yemekteyiz-281-bolum-13122018-52578-video', 'ext': 'mp4', 'title': 'Yemekteyiz 281. bölüm (13/12/2018)', 'description': 'md5:01a9cc2115550dfa3b51772239082f6a', @@ -20,16 +25,24 @@ class TV8IE(InfoExtractor): 'timestamp': 1544780098, 'upload_date': '20181214', }, + }, + { + 'url': 'https://www.tv8.com.tr/masterchef-turkiye/masterchef-turkiye-30-bolum-11122018-52440-video-3.htm', + 'only_matching': True }] def _real_extract(self, url): - video_id = self._match_id(url) + + mobj = re.match(self._VALID_URL, url) + video_id = mobj.group('id') + chapter_number = int_or_none(mobj.group('chapter')) or 1 webpage = self._download_webpage(url, video_id) webpage = webpage.replace('URL', 'Url') info = { 'id': video_id, + 'chapter_number': chapter_number, } json_ld = self._search_regex(