diff options
Diffstat (limited to 'youtube_dl/extractor/vimeo.py')
| -rw-r--r-- | youtube_dl/extractor/vimeo.py | 60 | 
1 files changed, 51 insertions, 9 deletions
diff --git a/youtube_dl/extractor/vimeo.py b/youtube_dl/extractor/vimeo.py index 560a80efd..4bbb20c65 100644 --- a/youtube_dl/extractor/vimeo.py +++ b/youtube_dl/extractor/vimeo.py @@ -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>[^/?#]+)/?(?:$|[?#])'  | 
