projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
363245a
)
[vimeo] Extract license (closes #11880)
author
Sergey M․
<dstftw@gmail.com>
Tue, 31 Jan 2017 17:49:28 +0000
(
00:49
+0700)
committer
Sergey M․
<dstftw@gmail.com>
Tue, 31 Jan 2017 17:49:28 +0000
(
00:49
+0700)
youtube_dl/extractor/vimeo.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/vimeo.py
b/youtube_dl/extractor/vimeo.py
index 8b6a5cc3cf5465cdcb18e9a3980493cad8017d64..32179e9157186ee542691fc709e28a1f8ed3f7ad 100644
(file)
--- a/
youtube_dl/extractor/vimeo.py
+++ b/
youtube_dl/extractor/vimeo.py
@@
-218,6
+218,7
@@
class VimeoIE(VimeoBaseInfoExtractor):
'uploader_id': 'user7108434',
'uploader': 'Filippo Valsorda',
'duration': 10,
'uploader_id': 'user7108434',
'uploader': 'Filippo Valsorda',
'duration': 10,
+ 'license': 'by-sa',
},
},
{
},
},
{
@@
-486,6
+487,8
@@
class VimeoIE(VimeoBaseInfoExtractor):
'%s said: %s' % (self.IE_NAME, seed_status['title']),
expected=True)
'%s said: %s' % (self.IE_NAME, seed_status['title']),
expected=True)
+ cc_license = None
+
# Extract the config JSON
try:
try:
# Extract the config JSON
try:
try:
@@
-499,8
+502,9
@@
class VimeoIE(VimeoBaseInfoExtractor):
vimeo_clip_page_config = self._search_regex(
r'vimeo\.clip_page_config\s*=\s*({.+?});', webpage,
'vimeo clip page config')
vimeo_clip_page_config = self._search_regex(
r'vimeo\.clip_page_config\s*=\s*({.+?});', webpage,
'vimeo clip page config')
- config_url = self._parse_json(
- vimeo_clip_page_config, video_id)['player']['config_url']
+ page_config = self._parse_json(vimeo_clip_page_config, video_id)
+ config_url = page_config['player']['config_url']
+ cc_license = page_config.get('cc_license')
config_json = self._download_webpage(config_url, video_id)
config = json.loads(config_json)
except RegexNotFoundError:
config_json = self._download_webpage(config_url, video_id)
config = json.loads(config_json)
except RegexNotFoundError:
@@
-609,6
+613,12
@@
class VimeoIE(VimeoBaseInfoExtractor):
info_dict = self._parse_config(config, video_id)
formats.extend(info_dict['formats'])
self._vimeo_sort_formats(formats)
info_dict = self._parse_config(config, video_id)
formats.extend(info_dict['formats'])
self._vimeo_sort_formats(formats)
+
+ if not cc_license:
+ cc_license = self._search_regex(
+ r'<link[^>]+rel=["\']license["\'][^>]+href=(["\'])(?P<license>(?:(?!\1).)+)\1',
+ webpage, 'license', default=None, group='license')
+
info_dict.update({
'id': video_id,
'formats': formats,
info_dict.update({
'id': video_id,
'formats': formats,
@@
-618,6
+628,7
@@
class VimeoIE(VimeoBaseInfoExtractor):
'view_count': view_count,
'like_count': like_count,
'comment_count': comment_count,
'view_count': view_count,
'like_count': like_count,
'comment_count': comment_count,
+ 'license': cc_license,
})
return info_dict
})
return info_dict