Made requested changes
This commit is contained in:
parent
6655bbcc13
commit
115bdf067a
@ -9,7 +9,7 @@ from .common import InfoExtractor
|
|||||||
class PeertubeIE(InfoExtractor):
|
class PeertubeIE(InfoExtractor):
|
||||||
IE_DESC = 'Peertube Videos'
|
IE_DESC = 'Peertube Videos'
|
||||||
IE_NAME = 'Peertube'
|
IE_NAME = 'Peertube'
|
||||||
_VALID_URL = r'https?:\/\/peertube\.touhoppai\.moe\/videos\/watch\/(?P<id>[0-9|a-z]{8}-[0-9|a-z]{4}-[0-9|a-z]{4}-[0-9|a-z]{4}-[0-9|a-z]{12})'
|
_VALID_URL = r'(?:https?:)//peertube\.touhoppai\.moe\/videos\/watch\/(?P<id>[0-9|a-z]{8}-[0-9|a-z]{4}-[0-9|a-z]{4}-[0-9|a-z]{4}-[0-9|a-z]{12})'
|
||||||
_TEST = {
|
_TEST = {
|
||||||
'url': 'https://peertube.touhoppai.moe/videos/watch/7f3421ae-6161-4a4a-ae38-d167aec51683',
|
'url': 'https://peertube.touhoppai.moe/videos/watch/7f3421ae-6161-4a4a-ae38-d167aec51683',
|
||||||
'md5': 'a5e1e4a978e6b789553198d1739f5643',
|
'md5': 'a5e1e4a978e6b789553198d1739f5643',
|
||||||
@ -26,12 +26,22 @@ class PeertubeIE(InfoExtractor):
|
|||||||
video_id = self._match_id(url)
|
video_id = self._match_id(url)
|
||||||
url_data = compat_urlparse.urlparse(url)
|
url_data = compat_urlparse.urlparse(url)
|
||||||
base_url = "%s://%s" % (url_data.scheme, url_data.hostname)
|
base_url = "%s://%s" % (url_data.scheme, url_data.hostname)
|
||||||
api_url = urljoin(urljoin(base_url, "/api/v1/videos/"), video_id)
|
api_url = urljoin(base_url, "/api/v1/videos/%s" % video_id)
|
||||||
details = self._download_json(api_url, video_id)
|
details = self._download_json(api_url, video_id)
|
||||||
|
formats = [{'url': file_data['fileUrl'], 'filesize': file_data.get('size'), 'format': file_data.get('resolution', {}).get('label')} for file_data in details['files']]
|
||||||
|
self._sort_formats(formats)
|
||||||
return {
|
return {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': details.get('name'),
|
'title': details['name'],
|
||||||
'description': details.get('description'),
|
'description': details.get('description'),
|
||||||
'formats': [{'url': file_data['fileUrl'], 'filesize': file_data.get('size')} for file_data in sorted(details['files'], key=lambda x: x['size'])],
|
'formats': formats,
|
||||||
'thumbnail': urljoin(base_url, details['thumbnailPath'])
|
'thumbnail': urljoin(base_url, details['thumbnailPath']) if 'thumbnailPath' in details else None,
|
||||||
|
'uploader': details.get('account', {}).get('name'),
|
||||||
|
'uploader_id': details.get('account', {}).get('id'),
|
||||||
|
'uploder_url': details.get('account', {}).get('url'),
|
||||||
|
'duration': details.get('duration'),
|
||||||
|
'view_count': details.get('views'),
|
||||||
|
'like_count': details.get('likes'),
|
||||||
|
'dislike_count': details.get('dislikes'),
|
||||||
|
'tags': details.get('tags')
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user