|
@@ -73,15 +73,26 @@ class VimeoIE(VimeoBaseInfoExtractor):
|
|
|
|
|
|
# _VALID_URL matches Vimeo URLs
|
|
|
_VALID_URL = r'''(?x)
|
|
|
- https?://
|
|
|
- (?:(?:www|(?P<player>player))\.)?
|
|
|
- vimeo(?P<pro>pro)?\.com/
|
|
|
- (?!channels/[^/?#]+/?(?:$|[?#])|album/)
|
|
|
- (?:.*?/)?
|
|
|
- (?:(?:play_redirect_hls|moogaloop\.swf)\?clip_id=)?
|
|
|
- (?:videos?/)?
|
|
|
- (?P<id>[0-9]+)
|
|
|
- /?(?:[?&].*)?(?:[#].*)?$'''
|
|
|
+ https?://
|
|
|
+ (?:
|
|
|
+ (?:
|
|
|
+ www|
|
|
|
+ (?P<player>player)
|
|
|
+ )
|
|
|
+ \.
|
|
|
+ )?
|
|
|
+ vimeo(?P<pro>pro)?\.com/
|
|
|
+ (?!channels/[^/?#]+/?(?:$|[?#])|(?:album|ondemand)/)
|
|
|
+ (?:.*?/)?
|
|
|
+ (?:
|
|
|
+ (?:
|
|
|
+ play_redirect_hls|
|
|
|
+ moogaloop\.swf)\?clip_id=
|
|
|
+ )?
|
|
|
+ (?:videos?/)?
|
|
|
+ (?P<id>[0-9]+)
|
|
|
+ /?(?:[?&].*)?(?:[#].*)?$
|
|
|
+ '''
|
|
|
IE_NAME = 'vimeo'
|
|
|
_TESTS = [
|
|
|
{
|
|
@@ -497,6 +508,37 @@ class VimeoIE(VimeoBaseInfoExtractor):
|
|
|
}
|
|
|
|
|
|
|
|
|
+class VimeoOndemandIE(VimeoBaseInfoExtractor):
|
|
|
+ _VALID_URL = r'https?://(?:www\.)?vimeo\.com/ondemand/(?P<id>[^/?#&]+)'
|
|
|
+ _TESTS = [{
|
|
|
+ # ondemand video not available via https://vimeo.com/id
|
|
|
+ 'url': 'https://vimeo.com/ondemand/20704',
|
|
|
+ 'md5': 'c424deda8c7f73c1dfb3edd7630e2f35',
|
|
|
+ 'info_dict': {
|
|
|
+ 'id': '105442900',
|
|
|
+ 'ext': 'mp4',
|
|
|
+ 'title': 'המעבדה - במאי יותם פלדמן',
|
|
|
+ 'uploader': 'גם סרטים',
|
|
|
+ 'uploader_url': 're:https?://(?:www\.)?vimeo\.com/gumfilms',
|
|
|
+ 'uploader_id': 'gumfilms',
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ 'url': 'https://vimeo.com/ondemand/nazmaalik',
|
|
|
+ 'only_matching': True,
|
|
|
+ }, {
|
|
|
+ 'url': 'https://vimeo.com/ondemand/141692381',
|
|
|
+ 'only_matching': True,
|
|
|
+ }, {
|
|
|
+ 'url': 'https://vimeo.com/ondemand/thelastcolony/150274832',
|
|
|
+ 'only_matching': True,
|
|
|
+ }]
|
|
|
+
|
|
|
+ def _real_extract(self, url):
|
|
|
+ video_id = self._match_id(url)
|
|
|
+ webpage = self._download_webpage(url, video_id)
|
|
|
+ return self.url_result(self._og_search_video_url(webpage), VimeoIE.ie_key())
|
|
|
+
|
|
|
+
|
|
|
class VimeoChannelIE(VimeoBaseInfoExtractor):
|
|
|
IE_NAME = 'vimeo:channel'
|
|
|
_VALID_URL = r'https://vimeo\.com/channels/(?P<id>[^/?#]+)/?(?:$|[?#])'
|