X-Git-Url: https://git.rapsys.eu/youtubedl/blobdiff_plain/abc36f0474141930338eef35e2444365fab932b6..d9d7cd0e85dc712461d9185db9df9d6c900a573b:/youtube_dl/extractor/kaltura.py diff --git a/youtube_dl/extractor/kaltura.py b/youtube_dl/extractor/kaltura.py index 54374ea..41c1f3d 100644 --- a/youtube_dl/extractor/kaltura.py +++ b/youtube_dl/extractor/kaltura.py @@ -91,6 +91,7 @@ class KalturaIE(InfoExtractor): }], }, }, + 'skip': 'Gone. Maybe https://www.safaribooksonline.com/library/tutorials/introduction-to-python-anon/3469/', 'params': { 'skip_download': True, }, @@ -107,27 +108,37 @@ class KalturaIE(InfoExtractor): @staticmethod def _extract_url(webpage): + # Embed codes: https://knowledge.kaltura.com/embedding-kaltura-media-players-your-site mobj = ( re.search( r"""(?xs) kWidget\.(?:thumb)?[Ee]mbed\( \{.*? - (?P['\"])wid(?P=q1)\s*:\s* - (?P['\"])_?(?P(?:(?!(?P=q2)).)+)(?P=q2),.*? - (?P['\"])entry_?[Ii]d(?P=q3)\s*:\s* - (?P['\"])(?P(?:(?!(?P=q4)).)+)(?P=q4)(?:,|\s*\}) + (?P['"])wid(?P=q1)\s*:\s* + (?P['"])_?(?P(?:(?!(?P=q2)).)+)(?P=q2),.*? + (?P['"])entry_?[Ii]d(?P=q3)\s*:\s* + (?P['"])(?P(?:(?!(?P=q4)).)+)(?P=q4)(?:,|\s*\}) """, webpage) or re.search( r'''(?xs) - (?P["\']) + (?P["']) (?:https?:)?//cdnapi(?:sec)?\.kaltura\.com(?::\d+)?/(?:(?!(?P=q1)).)*\b(?:p|partner_id)/(?P\d+)(?:(?!(?P=q1)).)* (?P=q1).*? (?: entry_?[Ii]d| - (?P["\'])entry_?[Ii]d(?P=q2) + (?P["'])entry_?[Ii]d(?P=q2) )\s*:\s* - (?P["\'])(?P(?:(?!(?P=q3)).)+)(?P=q3) - ''', webpage)) + (?P["'])(?P(?:(?!(?P=q3)).)+)(?P=q3) + ''', webpage) or + re.search( + r'''(?xs) + ]+src=(?P["']) + (?:https?:)?//(?:www\.)?kaltura\.com/(?:(?!(?P=q1)).)*\b(?:p|partner_id)/(?P\d+) + (?:(?!(?P=q1)).)* + [?&]entry_id=(?P(?:(?!(?P=q1))[^&])+) + (?P=q1) + ''', webpage) + ) if mobj: embed_info = mobj.groupdict() url = 'kaltura:%(partner_id)s:%(id)s' % embed_info