[flickr] extract license field(closes #9425)

This commit is contained in:
remitamine 2016-05-07 15:12:20 +01:00
parent 401d147893
commit 3fd6332c05

View file

@ -27,10 +27,24 @@ class FlickrIE(InfoExtractor):
'comment_count': int, 'comment_count': int,
'view_count': int, 'view_count': int,
'tags': list, 'tags': list,
'license': 'Attribution-ShareAlike',
} }
} }
_API_BASE_URL = 'https://api.flickr.com/services/rest?' _API_BASE_URL = 'https://api.flickr.com/services/rest?'
# https://help.yahoo.com/kb/flickr/SLN25525.html
_LICENSES = {
'0': 'All Rights Reserved',
'1': 'Attribution-NonCommercial-ShareAlike',
'2': 'Attribution-NonCommercial',
'3': 'Attribution-NonCommercial-NoDerivs',
'4': 'Attribution',
'5': 'Attribution-ShareAlike',
'6': 'Attribution-NoDerivs',
'7': 'No known copyright restrictions',
'8': 'United States government work',
'9': 'Public Domain Dedication (CC0)',
'10': 'Public Domain Work',
}
def _call_api(self, method, video_id, api_key, note, secret=None): def _call_api(self, method, video_id, api_key, note, secret=None):
query = { query = {
@ -87,7 +101,8 @@ def _real_extract(self, url):
'uploader': owner.get('realname'), 'uploader': owner.get('realname'),
'comment_count': int_or_none(video_info.get('comments', {}).get('_content')), 'comment_count': int_or_none(video_info.get('comments', {}).get('_content')),
'view_count': int_or_none(video_info.get('views')), 'view_count': int_or_none(video_info.get('views')),
'tags': [tag.get('_content') for tag in video_info.get('tags', {}).get('tag', [])] 'tags': [tag.get('_content') for tag in video_info.get('tags', {}).get('tag', [])],
'license': self._LICENSES.get(video_info.get('license')),
} }
else: else:
raise ExtractorError('not a video', expected=True) raise ExtractorError('not a video', expected=True)