From c2d8ee0000302aba63476b7d5bd8793e57b6c8c6 Mon Sep 17 00:00:00 2001 From: sepro <4618135+seproDev@users.noreply.github.com> Date: Mon, 28 Aug 2023 23:09:14 +0200 Subject: [PATCH] [ie/weverse] Support extraction without auth (#7924) Authored by: seproDev --- yt_dlp/extractor/weverse.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/yt_dlp/extractor/weverse.py b/yt_dlp/extractor/weverse.py index 9a08b8e43..bbf62856a 100644 --- a/yt_dlp/extractor/weverse.py +++ b/yt_dlp/extractor/weverse.py @@ -70,10 +70,8 @@ def _real_initialize(self): return token = try_call(lambda: self._get_cookies('https://weverse.io/')['we2_access_token'].value) - if not token: - self.raise_login_required() - - WeverseBaseIE._API_HEADERS['Authorization'] = f'Bearer {token}' + if token: + WeverseBaseIE._API_HEADERS['Authorization'] = f'Bearer {token}' def _call_api(self, ep, video_id, data=None, note='Downloading API JSON'): # Ref: https://ssl.pstatic.net/static/wevweb/2_3_2_11101725/public/static/js/2488.a09b41ff.chunk.js @@ -101,11 +99,14 @@ def _call_api(self, ep, video_id, data=None, note='Downloading API JSON'): self.raise_login_required( 'Session token has expired. Log in again or refresh cookies in browser') elif isinstance(e.cause, HTTPError) and e.cause.status == 403: - raise ExtractorError('Your account does not have access to this content', expected=True) + if 'Authorization' in self._API_HEADERS: + raise ExtractorError('Your account does not have access to this content', expected=True) + self.raise_login_required() raise def _call_post_api(self, video_id): - return self._call_api(f'/post/v1.0/post-{video_id}?fieldSet=postV1', video_id) + path = '' if 'Authorization' in self._API_HEADERS else '/preview' + return self._call_api(f'/post/v1.0/post-{video_id}{path}?fieldSet=postV1', video_id) def _get_community_id(self, channel): return str(self._call_api(