diff options
author | Max <github@nbr23.com> | 2024-01-09 03:11:52 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-09 04:11:52 +0100 |
commit | 95e82347b398d8bb160767cdd975edecd62cbabd (patch) | |
tree | 00d86d534dd8596656aab8045c6dd8c8c9e18a93 /yt_dlp/extractor/turbo.py | |
parent | 5b8c69ae04444a4c80a5a99917e40f75a116c3b8 (diff) |
[ie/Viously] Add extractor (#8927)
Replaces Turbo extractor
Authored by: nbr23, seproDev
Co-authored-by: sepro <4618135+seproDev@users.noreply.github.com>
Diffstat (limited to 'yt_dlp/extractor/turbo.py')
-rw-r--r-- | yt_dlp/extractor/turbo.py | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/yt_dlp/extractor/turbo.py b/yt_dlp/extractor/turbo.py deleted file mode 100644 index cdb7dcff8..000000000 --- a/yt_dlp/extractor/turbo.py +++ /dev/null @@ -1,64 +0,0 @@ -import re - -from .common import InfoExtractor -from ..compat import compat_str -from ..utils import ( - ExtractorError, - int_or_none, - qualities, - xpath_text, -) - - -class TurboIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?turbo\.fr/videos-voiture/(?P<id>[0-9]+)-' - _API_URL = 'http://www.turbo.fr/api/tv/xml.php?player_generique=player_generique&id={0:}' - _TEST = { - 'url': 'http://www.turbo.fr/videos-voiture/454443-turbo-du-07-09-2014-renault-twingo-3-bentley-continental-gt-speed-ces-guide-achat-dacia.html', - 'md5': '33f4b91099b36b5d5a91f84b5bcba600', - 'info_dict': { - 'id': '454443', - 'ext': 'mp4', - 'duration': 3715, - 'title': 'Turbo du 07/09/2014 : Renault Twingo 3, Bentley Continental GT Speed, CES, Guide Achat Dacia... ', - 'description': 'Turbo du 07/09/2014 : Renault Twingo 3, Bentley Continental GT Speed, CES, Guide Achat Dacia...', - 'thumbnail': r're:^https?://.*\.jpg$', - } - } - - def _real_extract(self, url): - mobj = self._match_valid_url(url) - video_id = mobj.group('id') - - webpage = self._download_webpage(url, video_id) - - playlist = self._download_xml(self._API_URL.format(video_id), video_id) - item = playlist.find('./channel/item') - if item is None: - raise ExtractorError('Playlist item was not found', expected=True) - - title = xpath_text(item, './title', 'title') - duration = int_or_none(xpath_text(item, './durate', 'duration')) - thumbnail = xpath_text(item, './visuel_clip', 'thumbnail') - description = self._html_search_meta('description', webpage) - - formats = [] - get_quality = qualities(['3g', 'sd', 'hq']) - for child in item: - m = re.search(r'url_video_(?P<quality>.+)', child.tag) - if m: - quality = compat_str(m.group('quality')) - formats.append({ - 'format_id': quality, - 'url': child.text, - 'quality': get_quality(quality), - }) - - return { - 'id': video_id, - 'title': title, - 'duration': duration, - 'thumbnail': thumbnail, - 'description': description, - 'formats': formats, - } |