From: Tom-Oliver Heidel Date: Mon, 30 Nov 2020 01:46:10 +0000 (+0100) Subject: Merge branch 'master' into rcs X-Git-Tag: 2021.01.07~27^2 X-Git-Url: https://jfr.im/git/yt-dlp.git/commitdiff_plain/9e4043faa99609ac16d279a5f8d5fc22b23f0c8e?hp=-c Merge branch 'master' into rcs --- 9e4043faa99609ac16d279a5f8d5fc22b23f0c8e diff --combined youtube_dlc/extractor/extractors.py index ecbe68ab0,772746bb2..b7ebc6951 --- a/youtube_dlc/extractor/extractors.py +++ b/youtube_dlc/extractor/extractors.py @@@ -36,6 -36,7 +36,7 @@@ from .afreecatv import AfreecaTVI from .airmozilla import AirMozillaIE from .aljazeera import AlJazeeraIE from .alphaporno import AlphaPornoIE + from .amara import AmaraIE from .alura import ( AluraIE, AluraCourseIE @@@ -62,7 -63,7 +63,7 @@@ from .ard import ARDMediathekIE, ) from .arte import ( - ArteTVPlus7IE, + ArteTVIE, ArteTVEmbedIE, ArteTVPlaylistIE, ) @@@ -116,6 -117,10 +117,10 @@@ from .bitchute import BitChuteIE, BitChuteChannelIE, ) + from .bitwave import ( + BitwaveReplayIE, + BitwaveStreamIE, + ) from .biqle import BIQLEIE from .bleacherreport import ( BleacherReportIE, @@@ -125,6 -130,7 +130,7 @@@ from .blinkx import BlinkxI from .bloomberg import BloombergIE from .bokecc import BokeCCIE from .bostonglobe import BostonGlobeIE + from .box import BoxIE from .bpb import BpbIE from .br import ( BRIE, @@@ -542,6 -548,7 +548,7 @@@ from .laola1tv import EHFTVIE, ITTFIE, ) + from .lbry import LBRYIE from .lci import LCIIE from .lcp import ( LcpPlayIE, @@@ -617,6 -624,7 +624,7 @@@ from .markiza import from .massengeschmacktv import MassengeschmackTVIE from .matchtv import MatchTVIE from .mdr import MDRIE + from .medaltv import MedalTVIE from .mediaset import MediasetIE from .mediasite import ( MediasiteIE, @@@ -751,6 -759,7 +759,7 @@@ from .ninecninemedia import NineCNineMe from .ninegag import NineGagIE from .ninenow import NineNowIE from .nintendo import NintendoIE + from .nitter import NitterIE from .njpwworld import NJPWWorldIE from .nobelprize import NobelPrizeIE from .noco import NocoIE @@@ -798,6 -807,7 +807,7 @@@ from .ntvru import NTVRuI from .nytimes import ( NYTimesIE, NYTimesArticleIE, + NYTimesCookingIE, ) from .nuvid import NuvidIE from .nzz import NZZIE @@@ -860,6 -870,10 +870,10 @@@ from .picarto import ) from .piksel import PikselIE from .pinkbike import PinkbikeIE + from .pinterest import ( + PinterestIE, + PinterestCollectionIE, + ) from .pladform import PladformIE from .platzi import ( PlatziIE, @@@ -936,11 -950,6 +950,11 @@@ from .raywenderlich import RayWenderlichCourseIE, ) from .rbmaradio import RBMARadioIE +from .rcs import ( + RCSIE, + RCSEmbedsIE, + RCSVariousIE, +) from .rds import RDSIE from .redbulltv import ( RedBullTVIE, @@@ -983,6 -992,7 +997,7 @@@ from .rtve import RTVEALaCartaIE, RTVEL from .rtvnh import RTVNHIE from .rtvs import RTVSIE from .ruhd import RUHDIE + from .rumble import RumbleEmbedIE from .rutube import ( RutubeIE, RutubeChannelIE, @@@ -1042,6 -1052,10 +1057,10 @@@ from .sky import SkyNewsIE, SkySportsIE, ) + from .skyitalia import ( + SkyArteItaliaIE, + SkyItaliaIE, + ) from .slideshare import SlideshareIE from .slideslive import SlidesLiveIE from .slutload import SlutloadIE @@@ -1079,8 -1093,7 +1098,7 @@@ from .spankbang import SpankBangPlaylistIE, ) from .spankwire import SpankwireIE - from .spiegel import SpiegelIE, SpiegelArticleIE - from .spiegeltv import SpiegeltvIE + from .spiegel import SpiegelIE from .spike import ( BellatorIE, ParamountNetworkIE, @@@ -1094,6 -1107,12 +1112,12 @@@ from .stitcher import StitcherI from .sport5 import Sport5IE from .sportbox import SportBoxIE from .sportdeutschland import SportDeutschlandIE + from .spreaker import ( + SpreakerIE, + SpreakerPageIE, + SpreakerShowIE, + SpreakerShowPageIE, + ) from .springboardplatform import SpringboardPlatformIE from .sprout import SproutIE from .srgssr import ( @@@ -1175,6 -1194,7 +1199,7 @@@ from .theweatherchannel import TheWeath from .thisamericanlife import ThisAmericanLifeIE from .thisav import ThisAVIE from .thisoldhouse import ThisOldHouseIE + from .thisvid import ThisVidIE from .threeqsdn import ThreeQSDNIE from .tiktok import TikTokIE from .tinypic import TinyPicIE @@@ -1386,8 -1406,8 +1411,8 @@@ from .vk import ) from .vlive import ( VLiveIE, + VLivePostIE, VLiveChannelIE, - VLivePlaylistIE ) from .vodlocker import VodlockerIE from .vodpl import VODPlIE @@@ -1504,21 -1524,18 +1529,18 @@@ from .yourporn import YourPornI from .yourupload import YourUploadIE from .youtube import ( YoutubeIE, - YoutubeChannelIE, YoutubeFavouritesIE, YoutubeHistoryIE, - YoutubeLiveIE, + YoutubeTabIE, YoutubePlaylistIE, - YoutubePlaylistsIE, YoutubeRecommendedIE, YoutubeSearchDateIE, YoutubeSearchIE, YoutubeSearchURLIE, - YoutubeShowIE, YoutubeSubscriptionsIE, YoutubeTruncatedIDIE, YoutubeTruncatedURLIE, - YoutubeUserIE, + YoutubeYtUserIE, YoutubeWatchLaterIE, ) from .zapiks import ZapiksIE @@@ -1544,4 -1561,5 +1566,5 @@@ from .zattoo import ) from .zdf import ZDFIE, ZDFChannelIE from .zingmp3 import ZingMp3IE + from .zoom import ZoomIE from .zype import ZypeIE diff --combined youtube_dlc/extractor/generic.py index 1641934f4,7711de01b..74760a180 --- a/youtube_dlc/extractor/generic.py +++ b/youtube_dlc/extractor/generic.py @@@ -91,6 -91,7 +91,7 @@@ from .piksel import PikselI from .videa import VideaIE from .twentymin import TwentyMinutenIE from .ustream import UstreamIE + from .arte import ArteTVEmbedIE from .videopress import VideoPressIE from .rutube import RutubeIE from .limelight import LimelightBaseIE @@@ -119,7 -120,7 +120,8 @@@ from .expressen import ExpressenI from .zype import ZypeIE from .odnoklassniki import OdnoklassnikiIE from .kinja import KinjaEmbedIE +from .rcs import RCSEmbedsIE + from .bitchute import BitChuteIE class GenericIE(InfoExtractor): @@@ -842,7 -843,7 +844,7 @@@ 'skip_download': True, } }, - # MTVSercices embed + # MTVServices embed { 'url': 'http://www.vulture.com/2016/06/new-key-peele-sketches-released.html', 'md5': 'ca1aef97695ef2c1d6973256a57e5252', @@@ -2761,11 -2762,9 +2763,9 @@@ return self.url_result(ustream_url, UstreamIE.ie_key()) # Look for embedded arte.tv player - mobj = re.search( - r'<(?:script|iframe) [^>]*?src="(?Phttp://www\.arte\.tv/(?:playerv2/embed|arte_vp/index)[^"]+)"', - webpage) - if mobj is not None: - return self.url_result(mobj.group('url'), 'ArteTVEmbed') + arte_urls = ArteTVEmbedIE._extract_urls(webpage) + if arte_urls: + return self.playlist_from_matches(arte_urls, video_id, video_title) # Look for embedded francetv player mobj = re.search( @@@ -3214,12 -3213,11 +3214,17 @@@ return self.playlist_from_matches( zype_urls, video_id, video_title, ie=ZypeIE.ie_key()) + # Look for RCS media group embeds + rcs_urls = RCSEmbedsIE._extract_urls(webpage) + if rcs_urls: + return self.playlist_from_matches( + rcs_urls, video_id, video_title, ie=RCSEmbedsIE.ie_key()) + + bitchute_urls = BitChuteIE._extract_urls(webpage) + if bitchute_urls: + return self.playlist_from_matches( + bitchute_urls, video_id, video_title, ie=BitChuteIE.ie_key()) + # Look for HTML5 media entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls') if entries: