X-Git-Url: https://jfr.im/git/yt-dlp.git/blobdiff_plain/52efa4b31200119adaa8acf33e50b84fcb6948f0..61edf57f8f13f6dfd81154174e647eb5fdd26089:/yt_dlp/extractor/tumblr.py diff --git a/yt_dlp/extractor/tumblr.py b/yt_dlp/extractor/tumblr.py index 8086f613d..7f851bf63 100644 --- a/yt_dlp/extractor/tumblr.py +++ b/yt_dlp/extractor/tumblr.py @@ -1,13 +1,9 @@ -# coding: utf-8 -from __future__ import unicode_literals - - from .common import InfoExtractor from ..utils import ( ExtractorError, int_or_none, traverse_obj, - urlencode_postdata + urlencode_postdata, ) @@ -32,7 +28,7 @@ class TumblrIE(InfoExtractor): 'repost_count': int, 'age_limit': 0, 'tags': ['Orphan Black', 'Tatiana Maslany', 'Interview', 'Video', 'OB S1 DVD Extras'], - } + }, }, { 'note': 'multiple formats', 'url': 'https://maskofthedragon.tumblr.com/post/626907179849564160/mona-talking-in-english', @@ -69,7 +65,7 @@ class TumblrIE(InfoExtractor): 'repost_count': int, 'age_limit': 0, 'tags': [], - } + }, }, { 'note': 'dashboard only (original post)', 'url': 'https://jujanon.tumblr.com/post/159704441298/my-baby-eating', @@ -86,7 +82,7 @@ class TumblrIE(InfoExtractor): 'repost_count': int, 'age_limit': 0, 'tags': ['crabs', 'my video', 'my pets'], - } + }, }, { 'note': 'dashboard only (reblog)', 'url': 'https://bartlebyshop.tumblr.com/post/180294460076/duality-of-bird', @@ -103,7 +99,7 @@ class TumblrIE(InfoExtractor): 'repost_count': int, 'age_limit': 0, 'tags': [], - } + }, }, { 'note': 'dashboard only (external)', 'url': 'https://afloweroutofstone.tumblr.com/post/675661759168823296/the-blues-remembers-everything-the-country-forgot', @@ -153,7 +149,7 @@ class TumblrIE(InfoExtractor): 'uploader': 'naked-yogi', }, # 'add_ie': ['Vidme'], - 'skip': 'dead embedded video host' + 'skip': 'dead embedded video host', }, { 'url': 'https://prozdvoices.tumblr.com/post/673201091169681408/what-recording-voice-acting-sounds-like', 'md5': 'a0063fc8110e6c9afe44065b4ea68177', @@ -278,7 +274,7 @@ def _real_extract(self, url): url = f'http://{blog}.tumblr.com/post/{video_id}/' webpage, urlh = self._download_webpage_handle(url, video_id) - redirect_url = urlh.geturl() + redirect_url = urlh.url api_only = bool(self._search_regex( r'(tumblr.com|^)/(safe-mode|login_required|blog/view)', @@ -362,14 +358,13 @@ def _real_extract(self, url): 'height': int_or_none( media_json.get('height') or self._og_search_property('video:height', webpage, default=None)), }] - self._sort_formats(formats) # the url we're extracting from might be an original post or it might be a reblog. # if it's a reblog, og:description will be the reblogger's comment, not the uploader's. # content_json is always the op, so if it exists but has no text, there's no description if content_json: - description = '\n\n'.join(( - item.get('text') for item in content_json if item.get('type') == 'text')) or None + description = '\n\n'.join( + item.get('text') for item in content_json if item.get('type') == 'text') or None else: description = self._og_search_description(webpage, default=None) uploader_id = traverse_obj(post_json, 'reblogged_root_name', 'blog_name')