mirror of
https://github.com/soimort/you-get.git
synced 2025-02-02 16:24:00 +03:00
Merge branch 'vimeo-channel' of https://github.com/cnbeining/you-get into cnbeining-vimeo-channel
This commit is contained in:
commit
851ccd6248
@ -1,8 +1,31 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
__all__ = ['vimeo_download', 'vimeo_download_by_id']
|
||||
__all__ = ['vimeo_download', 'vimeo_download_by_id', 'vimeo_download_by_channel', 'vimeo_download_by_channel_id']
|
||||
|
||||
from ..common import *
|
||||
from json import loads
|
||||
access_token = 'f6785418277b72c7c87d3132c79eec24' #By Beining
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def vimeo_download_by_channel(url, output_dir = '.', merge = False, info_only = False):
|
||||
"""str->None"""
|
||||
# https://vimeo.com/channels/464686
|
||||
channel_id = match1(url, r'http://vimeo.com/channels/(\w+)')
|
||||
vimeo_download_by_channel_id(channel_id, output_dir, merge, info_only)
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def vimeo_download_by_channel_id(channel_id, output_dir = '.', merge = False, info_only = False):
|
||||
"""str/int->None"""
|
||||
html = get_content('https://api.vimeo.com/channels/{channel_id}/videos?access_token={access_token}'.format(channel_id = channel_id, access_token = access_token))
|
||||
data = loads(html)
|
||||
id_list = []
|
||||
|
||||
#print(data)
|
||||
for i in data['data']:
|
||||
id_list.append(match1(i['uri'], r'/videos/(\w+)'))
|
||||
|
||||
for id in id_list:
|
||||
vimeo_download_by_id(id, None, output_dir, merge, info_only)
|
||||
|
||||
def vimeo_download_by_id(id, title = None, output_dir = '.', merge = True, info_only = False):
|
||||
video_page = get_content('http://player.vimeo.com/video/%s' % id, headers=fake_headers)
|
||||
@ -21,6 +44,9 @@ def vimeo_download_by_id(id, title = None, output_dir = '.', merge = True, info_
|
||||
download_urls([url], title, ext, size, output_dir, merge = merge, faker = True)
|
||||
|
||||
def vimeo_download(url, output_dir = '.', merge = True, info_only = False):
|
||||
if re.match(r'http://vimeo.com/channels/\w+', url):
|
||||
vimeo_download_by_channel(url, output_dir, merge, info_only)
|
||||
else:
|
||||
id = r1(r'http://[\w.]*vimeo.com[/\w]*/(\d+)$', url)
|
||||
assert id
|
||||
|
||||
@ -28,4 +54,4 @@ def vimeo_download(url, output_dir = '.', merge = True, info_only = False):
|
||||
|
||||
site_info = "Vimeo.com"
|
||||
download = vimeo_download
|
||||
download_playlist = playlist_not_supported('vimeo')
|
||||
download_playlist = vimeo_download_by_channel
|
||||
|
Loading…
Reference in New Issue
Block a user