projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[common] add a generic support for mpd manifests
[youtube-dl]
/
youtube_dl
/
extractor
/
flickr.py
diff --git
a/youtube_dl/extractor/flickr.py
b/youtube_dl/extractor/flickr.py
index 0d5d6b0b9a7e5165952f64c4557c2df57d26f7ee..18f439df978b59e8d48454300498e1de337c3ad4 100644
(file)
--- a/
youtube_dl/extractor/flickr.py
+++ b/
youtube_dl/extractor/flickr.py
@@
-3,6
+3,7
@@
from __future__ import unicode_literals
from .common import InfoExtractor
from ..compat import compat_urllib_parse
from ..utils import (
from .common import InfoExtractor
from ..compat import compat_urllib_parse
from ..utils import (
+ ExtractorError,
int_or_none,
qualities,
)
int_or_none,
qualities,
)
@@
-24,6
+25,8
@@
class FlickrIE(InfoExtractor):
'uploader_id': '10922353@N03',
'uploader': 'Forest Wander',
'comment_count': int,
'uploader_id': '10922353@N03',
'uploader': 'Forest Wander',
'comment_count': int,
+ 'view_count': int,
+ 'tags': list,
}
}
}
}
@@
-39,18
+42,27
@@
class FlickrIE(InfoExtractor):
}
if secret:
query['secret'] = secret
}
if secret:
query['secret'] = secret
- return self._download_json(self._API_BASE_URL + compat_urllib_parse.urlencode(query), video_id, note)
+ data = self._download_json(self._API_BASE_URL + compat_urllib_parse.urlencode(query), video_id, note)
+ if data['stat'] != 'ok':
+ raise ExtractorError(data['message'])
+ return data
def _real_extract(self, url):
video_id = self._match_id(url)
def _real_extract(self, url):
video_id = self._match_id(url)
- api_key = self._download_json('https://www.flickr.com/hermes_error_beacon.gne', video_id, 'Downloading api key',)['site_key']
+ api_key = self._download_json(
+ 'https://www.flickr.com/hermes_error_beacon.gne', video_id,
+ 'Downloading api key')['site_key']
- video_info = self._call_api('photos.getInfo', video_id, api_key, 'Downloading video info')['photo']
+ video_info = self._call_api(
+ 'photos.getInfo', video_id, api_key, 'Downloading video info')['photo']
if video_info['media'] == 'video':
if video_info['media'] == 'video':
- streams = self._call_api('video.getStreamInfo', video_id, api_key, 'Downloading streams info', video_info['secret'])['streams']
+ streams = self._call_api(
+ 'video.getStreamInfo', video_id, api_key,
+ 'Downloading streams info', video_info['secret'])['streams']
- preference = qualities(['iphone_wifi', '700', 'appletv', 'orig'])
+ preference = qualities(
+ ['288p', 'iphone_wifi', '100', '300', '700', '360p', 'appletv', '720p', '1080p', 'orig'])
formats = []
for stream in streams['stream']:
formats = []
for stream in streams['stream']:
@@
-74,4
+86,8
@@
class FlickrIE(InfoExtractor):
'uploader_id': owner.get('nsid'),
'uploader': owner.get('realname'),
'comment_count': int_or_none(video_info.get('comments', {}).get('_content')),
'uploader_id': owner.get('nsid'),
'uploader': owner.get('realname'),
'comment_count': int_or_none(video_info.get('comments', {}).get('_content')),
+ 'view_count': int_or_none(video_info.get('views')),
+ 'tags': [tag.get('_content') for tag in video_info.get('tags', {}).get('tag', [])]
}
}
+ else:
+ raise ExtractorError('not a video', expected=True)