diff --git a/yt_dlp/extractor/_extractors.py b/yt_dlp/extractor/_extractors.py index deb9bd868..7be73d7b8 100644 --- a/yt_dlp/extractor/_extractors.py +++ b/yt_dlp/extractor/_extractors.py @@ -2288,7 +2288,7 @@ ) from .umg import UMGDeIE from .unistra import UnistraIE -from .unitednation import UnitedNationWebTVExtractorIE +from .unitednations import UnitedNationsWebTVIE from .unity import UnityIE from .unsupported import ( KnownDRMIE, diff --git a/yt_dlp/extractor/unitednation.py b/yt_dlp/extractor/unitednations.py similarity index 52% rename from yt_dlp/extractor/unitednation.py rename to yt_dlp/extractor/unitednations.py index 07b703f93..bc0fad116 100644 --- a/yt_dlp/extractor/unitednation.py +++ b/yt_dlp/extractor/unitednations.py @@ -1,7 +1,8 @@ +from .common import InfoExtractor from .kaltura import KalturaIE -class UnitedNationWebTVExtractorIE(KalturaIE): +class UnitedNationsWebTVIE(InfoExtractor): _VALID_URL = r'https?://webtv.un.org/(ar|zh|en|fr|ru|es)/asset/\w+/(?P\w+)' _TESTS = [{ 'url': 'https://webtv.un.org/en/asset/k1o/k1o7stmi6p', @@ -22,33 +23,10 @@ class UnitedNationWebTVExtractorIE(KalturaIE): def _real_extract(self, url): video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) + partner_id = self._html_search_regex( - r'partnerId:\s*(\w+)', - webpage, - 'partner_id', - ) + r'partnerId:\s*(\d+)', webpage, 'partner_id') entry_id = self._html_search_regex( - r'const\s+kentryID\s*=\s*["\'](\w+)["\'];', - webpage, - 'kentry_id', - ) - kaltura_api_response = self._get_video_info(entry_id, partner_id) + r'const\s+kentryID\s*=\s*["\'](\w+)["\']', webpage, 'kentry_id') - try: - kaltura_url = kaltura_api_response[1].get('dataUrl', None) - except IndexError: - return self.url_result( - f'kaltura:{partner_id}:{entry_id}', - KalturaIE.ie_key(), - ) - - kaltura_id = self._search_regex( - r'http://cdnapi.kaltura.com/p/\w+/sp/\w+/playManifest/entryId/(\w+)/format/url/protocol/http', - kaltura_url, - 'kaltura_id', - ) - - return self.url_result( - f'kaltura:{partner_id}:{kaltura_id}', - KalturaIE.ie_key(), - ) + return self.url_result(f'kaltura:{partner_id}:{entry_id}', KalturaIE)