Updated ytdlp version
This commit is contained in:
@@ -1,22 +1,22 @@
|
||||
import itertools
|
||||
from urllib.error import HTTPError
|
||||
|
||||
from .common import InfoExtractor
|
||||
from .vimeo import VimeoIE
|
||||
|
||||
from ..compat import compat_urllib_parse_unquote
|
||||
from ..networking.exceptions import HTTPError
|
||||
from ..utils import (
|
||||
KNOWN_EXTENSIONS,
|
||||
ExtractorError,
|
||||
clean_html,
|
||||
determine_ext,
|
||||
ExtractorError,
|
||||
int_or_none,
|
||||
KNOWN_EXTENSIONS,
|
||||
mimetype2ext,
|
||||
parse_iso8601,
|
||||
str_or_none,
|
||||
traverse_obj,
|
||||
try_get,
|
||||
url_or_none,
|
||||
urljoin,
|
||||
)
|
||||
|
||||
|
||||
@@ -37,9 +37,9 @@ class PatreonBaseIE(InfoExtractor):
|
||||
item_id, note='Downloading API JSON' if not note else note,
|
||||
query=query, fatal=fatal, headers=headers)
|
||||
except ExtractorError as e:
|
||||
if not isinstance(e.cause, HTTPError) or mimetype2ext(e.cause.headers.get('Content-Type')) != 'json':
|
||||
if not isinstance(e.cause, HTTPError) or mimetype2ext(e.cause.response.headers.get('Content-Type')) != 'json':
|
||||
raise
|
||||
err_json = self._parse_json(self._webpage_read_content(e.cause, None, item_id), item_id, fatal=False)
|
||||
err_json = self._parse_json(self._webpage_read_content(e.cause.response, None, item_id), item_id, fatal=False)
|
||||
err_message = traverse_obj(err_json, ('errors', ..., 'detail'), get_all=False)
|
||||
if err_message:
|
||||
raise ExtractorError(f'Patreon said: {err_message}', expected=True)
|
||||
@@ -404,8 +404,8 @@ class PatreonCampaignIE(PatreonBaseIE):
|
||||
posts_json = self._call_api('posts', campaign_id, query=params, note='Downloading posts page %d' % page)
|
||||
|
||||
cursor = traverse_obj(posts_json, ('meta', 'pagination', 'cursors', 'next'))
|
||||
for post in posts_json.get('data') or []:
|
||||
yield self.url_result(url_or_none(traverse_obj(post, ('attributes', 'patreon_url'))), 'Patreon')
|
||||
for post_url in traverse_obj(posts_json, ('data', ..., 'attributes', 'patreon_url')):
|
||||
yield self.url_result(urljoin('https://www.patreon.com/', post_url), PatreonIE)
|
||||
|
||||
if cursor is None:
|
||||
break
|
||||
|
Reference in New Issue
Block a user