mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 00:27:07 -05:00 
			
		
		
		
	[vimeo] extract information for Vimeo Pro videos from http://player.vimeo.com/video/{video_id} (fixes #1197)
For some videos https://vimeo.com/{video_id} doesn't work
This commit is contained in:
		@@ -20,18 +20,31 @@ class VimeoIE(InfoExtractor):
 | 
			
		||||
    _VALID_URL = r'(?P<proto>https?://)?(?:(?:www|player)\.)?vimeo(?P<pro>pro)?\.com/(?:(?:(?:groups|album)/[^/]+)|(?:.*?)/)?(?P<direct_link>play_redirect_hls\?clip_id=)?(?:videos?/)?(?P<id>[0-9]+)(?:[?].*)?$'
 | 
			
		||||
    _NETRC_MACHINE = 'vimeo'
 | 
			
		||||
    IE_NAME = u'vimeo'
 | 
			
		||||
    _TEST = {
 | 
			
		||||
        u'url': u'http://vimeo.com/56015672',
 | 
			
		||||
        u'file': u'56015672.mp4',
 | 
			
		||||
        u'md5': u'8879b6cc097e987f02484baf890129e5',
 | 
			
		||||
        u'info_dict': {
 | 
			
		||||
            u"upload_date": u"20121220", 
 | 
			
		||||
            u"description": u"This is a test case for youtube-dl.\nFor more information, see github.com/rg3/youtube-dl\nTest chars: \u2605 \" ' \u5e78 / \\ \u00e4 \u21ad \U0001d550", 
 | 
			
		||||
            u"uploader_id": u"user7108434", 
 | 
			
		||||
            u"uploader": u"Filippo Valsorda", 
 | 
			
		||||
            u"title": u"youtube-dl test video - \u2605 \" ' \u5e78 / \\ \u00e4 \u21ad \U0001d550"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    _TESTS = [
 | 
			
		||||
        {
 | 
			
		||||
            u'url': u'http://vimeo.com/56015672',
 | 
			
		||||
            u'file': u'56015672.mp4',
 | 
			
		||||
            u'md5': u'8879b6cc097e987f02484baf890129e5',
 | 
			
		||||
            u'info_dict': {
 | 
			
		||||
                u"upload_date": u"20121220", 
 | 
			
		||||
                u"description": u"This is a test case for youtube-dl.\nFor more information, see github.com/rg3/youtube-dl\nTest chars: \u2605 \" ' \u5e78 / \\ \u00e4 \u21ad \U0001d550", 
 | 
			
		||||
                u"uploader_id": u"user7108434", 
 | 
			
		||||
                u"uploader": u"Filippo Valsorda", 
 | 
			
		||||
                u"title": u"youtube-dl test video - \u2605 \" ' \u5e78 / \\ \u00e4 \u21ad \U0001d550",
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            u'url': u'http://vimeopro.com/openstreetmapus/state-of-the-map-us-2013/video/68093876',
 | 
			
		||||
            u'file': u'68093876.mp4',
 | 
			
		||||
            u'md5': u'3b5ca6aa22b60dfeeadf50b72e44ed82',
 | 
			
		||||
            u'note': u'Vimeo Pro video (#1197)',
 | 
			
		||||
            u'info_dict': {
 | 
			
		||||
                u'uploader_id': u'openstreetmapus', 
 | 
			
		||||
                u'uploader': u'OpenStreetMap US', 
 | 
			
		||||
                u'title': u'Andy Allan - Putting the Carto into OpenStreetMap Cartography',
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    def _login(self):
 | 
			
		||||
        (username, password) = self._get_login_info()
 | 
			
		||||
@@ -83,7 +96,9 @@ class VimeoIE(InfoExtractor):
 | 
			
		||||
        video_id = mobj.group('id')
 | 
			
		||||
        if not mobj.group('proto'):
 | 
			
		||||
            url = 'https://' + url
 | 
			
		||||
        if mobj.group('direct_link') or mobj.group('pro'):
 | 
			
		||||
        elif mobj.group('pro'):
 | 
			
		||||
            url = 'http://player.vimeo.com/video/' + video_id
 | 
			
		||||
        elif mobj.group('direct_link'):
 | 
			
		||||
            url = 'https://vimeo.com/' + video_id
 | 
			
		||||
 | 
			
		||||
        # Retrieve video webpage to extract further information
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user