1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-10-05 00:47:07 +02:00

[ie/weverse] Support extraction without auth (#7924)

Authored by: seproDev
This commit is contained in:
sepro 2023-08-28 23:09:14 +02:00 committed by GitHub
parent 56b3dc0335
commit c2d8ee0000
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -70,10 +70,8 @@ def _real_initialize(self):
return return
token = try_call(lambda: self._get_cookies('https://weverse.io/')['we2_access_token'].value) token = try_call(lambda: self._get_cookies('https://weverse.io/')['we2_access_token'].value)
if not token: if token:
self.raise_login_required() WeverseBaseIE._API_HEADERS['Authorization'] = f'Bearer {token}'
WeverseBaseIE._API_HEADERS['Authorization'] = f'Bearer {token}'
def _call_api(self, ep, video_id, data=None, note='Downloading API JSON'): 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 # 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( self.raise_login_required(
'Session token has expired. Log in again or refresh cookies in browser') 'Session token has expired. Log in again or refresh cookies in browser')
elif isinstance(e.cause, HTTPError) and e.cause.status == 403: 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 raise
def _call_post_api(self, video_id): 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): def _get_community_id(self, channel):
return str(self._call_api( return str(self._call_api(