diff options
author | Sergey M․ <dstftw@gmail.com> | 2016-06-27 22:44:17 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-06-27 22:44:17 +0700 |
commit | 9ea5c04c0d16f5519079ae04fdad62fc28c884b0 (patch) | |
tree | f7eb4ce144b976800ecdf3225342845297e86b5a /youtube_dl | |
parent | fd7a7498a47c5d79663ec8d86a87325aa634c652 (diff) |
[kaltura] Add _extract_url with fixed regex
Diffstat (limited to 'youtube_dl')
-rw-r--r-- | youtube_dl/extractor/kaltura.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/youtube_dl/extractor/kaltura.py b/youtube_dl/extractor/kaltura.py index a65697ff5..c75a958ba 100644 --- a/youtube_dl/extractor/kaltura.py +++ b/youtube_dl/extractor/kaltura.py @@ -64,6 +64,32 @@ class KalturaIE(InfoExtractor): } ] + @staticmethod + def _extract_url(webpage): + mobj = ( + re.search( + r"""(?xs) + kWidget\.(?:thumb)?[Ee]mbed\( + \{.*? + (?P<q1>['\"])wid(?P=q1)\s*:\s* + (?P<q2>['\"])_?(?P<partner_id>[^'\"]+)(?P=q2),.*? + (?P<q3>['\"])entry_?[Ii]d(?P=q3)\s*:\s* + (?P<q4>['\"])(?P<id>[^'\"]+)(?P=q4), + """, webpage) or + re.search( + r'''(?xs) + (?P<q1>["\']) + (?:https?:)?//cdnapi(?:sec)?\.kaltura\.com/.*?(?:p|partner_id)/(?P<partner_id>\d+).*? + (?P=q1).*? + (?: + entry_?[Ii]d| + (?P<q2>["\'])entry_?[Ii]d(?P=q2) + )\s*:\s* + (?P<q3>["\'])(?P<id>.+?)(?P=q3) + ''', webpage)) + if mobj: + return 'kaltura:%(partner_id)s:%(id)s' % mobj.groupdict() + def _kaltura_api_call(self, video_id, actions, *args, **kwargs): params = actions[0] if len(actions) > 1: |