diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2013-02-05 13:42:08 +0100 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2013-02-05 13:42:08 +0100 |
commit | 8edc2cf8ca866fe1aded3f7b3ccf6df277b2e9f7 (patch) | |
tree | 061749f1a752cd8e039c98d5f52203a0bf16b275 | |
parent | fb778e66dfbcd5ffaf9cb9a7abfda4399c4b684a (diff) |
Support direct vimeo links (Closes #666)
-rwxr-xr-x | youtube_dl/InfoExtractors.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index b99a6c505..ac3ecea92 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -978,7 +978,7 @@ class VimeoIE(InfoExtractor): """Information extractor for vimeo.com.""" # _VALID_URL matches Vimeo URLs - _VALID_URL = r'(?:https?://)?(?:(?:www|player).)?vimeo\.com/(?:(?:groups|album)/[^/]+/)?(?:videos?/)?([0-9]+)' + _VALID_URL = r'(?P<proto>https?://)?(?:(?:www|player)\.)?vimeo\.com/(?:(?:groups|album)/[^/]+/)?(?P<direct_link>play_redirect_hls\?clip_id=)?(?:videos?/)?(?P<id>[0-9]+)' IE_NAME = u'vimeo' def __init__(self, downloader=None): @@ -999,7 +999,11 @@ class VimeoIE(InfoExtractor): self._downloader.trouble(u'ERROR: Invalid URL: %s' % url) return - video_id = mobj.group(1) + video_id = mobj.group('id') + if not mobj.group('proto'): + url = 'https://' + url + if mobj.group('direct_link'): + url = 'https://vimeo.com/' + video_id # Retrieve video webpage to extract further information request = compat_urllib_request.Request(url, None, std_headers) |