From 2d8fc9c5375732a4ee0d761543cc7faa134b6d16 Mon Sep 17 00:00:00 2001 From: Parth Verma Date: Mon, 30 Apr 2018 22:30:34 +0530 Subject: [PATCH] Integrated peertube api for peertube --- youtube_dl/extractor/peertube.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/youtube_dl/extractor/peertube.py b/youtube_dl/extractor/peertube.py index 6b137d91b..e2da11012 100644 --- a/youtube_dl/extractor/peertube.py +++ b/youtube_dl/extractor/peertube.py @@ -1,35 +1,35 @@ # coding: utf-8 from __future__ import unicode_literals +from ..compat import compat_urlparse from .common import InfoExtractor class PeertubeIE(InfoExtractor): - _BASE_VIDEO_URL = 'https://peertube.touhoppai.moe/static/webseed/%s-1080.mp4' - _BASE_THUMBNAIL_URL = 'https://peertube.touhoppai.moe/static/previews/%s.jpg' IE_DESC = 'Peertube Videos' IE_NAME = 'Peertube' _VALID_URL = r'https?:\/\/peertube\.touhoppai\.moe\/videos\/watch\/(?P[0-9|\-|a-z]+)' _TEST = { 'url': 'https://peertube.touhoppai.moe/videos/watch/7f3421ae-6161-4a4a-ae38-d167aec51683', - 'md5': 'a5e1e4a978e6b789553198d1739f5643', + 'md5': '051ef9823d237416d5a6fc0bd8d67812', 'info_dict': { 'id': '7f3421ae-6161-4a4a-ae38-d167aec51683', 'ext': 'mp4', 'title': 'David Revoy Live Stream: Speedpainting', - 'description': 'md5:5c09a6e3fdb5f56edce289d69fbe7567', - 'thumbnail': 'https://peertube.touhoppai.moe/static/previews/7f3421ae-6161-4a4a-ae38-d167aec51683.jpg', + 'description': 'md5:4e67c2fec55739a2ccb86052505a741e', + 'thumbnail': 'https://peertube.touhoppai.moe/static/thumbnails/7f3421ae-6161-4a4a-ae38-d167aec51683.jpg', } } def _real_extract(self, url): video_id = self._match_id(url) - webpage = self._download_webpage(url, video_id) - title = self._og_search_title(webpage) + url_data = compat_urlparse.urlparse(url) + api_url = "%s://%s/api/v1/videos/%s" % (url_data.scheme, url_data.hostname, video_id) + details = self._download_json(api_url, video_id) return { 'id': video_id, - 'title': title, - 'description': self._og_search_description(webpage), - 'url': self._BASE_VIDEO_URL % video_id, - 'thumbnail': self._BASE_THUMBNAIL_URL % video_id + 'title': details['name'], + 'description': details['description'], + 'url': details['files'][-1]['fileUrl'], + 'thumbnail': url_data.scheme + '://' + url_data.hostname + details['thumbnailPath'] }