mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-04-22 00:29:50 +00:00
The risk of making a mistake and breaking core functionality is too high with these fixes. The rule will be disabled until ruff allows being more selective.
57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
from .common import InfoExtractor
|
|
from ..utils import month_by_name
|
|
|
|
|
|
class FranceInterIE(InfoExtractor):
|
|
_VALID_URL = r'https?://(?:www\.)?franceinter\.fr/emissions/(?P<id>[^?#]+)'
|
|
|
|
_TEST = {
|
|
'url': 'https://www.franceinter.fr/emissions/affaires-sensibles/affaires-sensibles-07-septembre-2016',
|
|
'md5': '9e54d7bdb6fdc02a841007f8a975c094',
|
|
'info_dict': {
|
|
'id': 'affaires-sensibles/affaires-sensibles-07-septembre-2016',
|
|
'ext': 'mp3',
|
|
'title': 'Affaire Cahuzac : le contentieux du compte en Suisse',
|
|
'description': 'md5:401969c5d318c061f86bda1fa359292b',
|
|
'thumbnail': r're:^https?://.*\.jpg',
|
|
'upload_date': '20160907',
|
|
},
|
|
}
|
|
|
|
def _real_extract(self, url):
|
|
video_id = self._match_id(url)
|
|
|
|
webpage = self._download_webpage(url, video_id)
|
|
|
|
video_url = self._search_regex(
|
|
r'(?s)<div[^>]+class=["\']page-diffusion["\'][^>]*>.*?<button[^>]+data-url=(["\'])(?P<url>(?:(?!\1).)+)\1',
|
|
webpage, 'video url', group='url')
|
|
|
|
title = self._og_search_title(webpage)
|
|
description = self._og_search_description(webpage)
|
|
thumbnail = self._html_search_meta(['og:image', 'twitter:image'], webpage)
|
|
|
|
upload_date_str = self._search_regex(
|
|
r'class=["\']\s*cover-emission-period\s*["\'][^>]*>[^<]+\s+(\d{1,2}\s+[^\s]+\s+\d{4})<',
|
|
webpage, 'upload date', fatal=False)
|
|
if upload_date_str:
|
|
upload_date_list = upload_date_str.split()
|
|
upload_date_list.reverse()
|
|
upload_date_list[1] = '%02d' % (month_by_name(upload_date_list[1], lang='fr') or 0)
|
|
upload_date_list[2] = '%02d' % int(upload_date_list[2])
|
|
upload_date = ''.join(upload_date_list)
|
|
else:
|
|
upload_date = None
|
|
|
|
return {
|
|
'id': video_id,
|
|
'title': title,
|
|
'description': description,
|
|
'thumbnail': thumbnail,
|
|
'upload_date': upload_date,
|
|
'formats': [{
|
|
'url': video_url,
|
|
'vcodec': 'none',
|
|
}],
|
|
}
|