add extractor args for setting the IDs from args

This commit is contained in:
mpeter50 2023-07-14 15:43:04 +02:00
parent 91b714934d
commit 7cdb94e892

View file

@ -63,6 +63,14 @@ def _CLIENT_ID(self):
return self._configuration_arg( return self._configuration_arg(
'client_id', ['ue6666qo983tsx6so1t0vnawi233wa'], ie_key='Twitch', casesense=True)[0] 'client_id', ['ue6666qo983tsx6so1t0vnawi233wa'], ie_key='Twitch', casesense=True)[0]
@property
def _DEVICE_ID(self):
return self._configuration_arg('device_id', [None], ie_key='Twitch')[0]
@property
def _CLIENT_INTEGRITY(self):
return self._configuration_arg('client_integrity', [None], ie_key='Twitch', casesense=True)[0]
def _perform_login(self, username, password): def _perform_login(self, username, password):
def fail(message): def fail(message):
raise ExtractorError( raise ExtractorError(
@ -147,6 +155,14 @@ def _download_base_gql(self, video_id, ops, note, fatal=True):
gql_auth = self._get_cookies('https://gql.twitch.tv').get('auth-token') gql_auth = self._get_cookies('https://gql.twitch.tv').get('auth-token')
if gql_auth: if gql_auth:
headers['Authorization'] = 'OAuth ' + gql_auth.value headers['Authorization'] = 'OAuth ' + gql_auth.value
# TODO: remove existence checks when the values will be generated
if self._DEVICE_ID:
headers["X-Device-Id"] = self._DEVICE_ID
if self._CLIENT_INTEGRITY:
headers["Client-Integrity"] = self._CLIENT_INTEGRITY
return self._download_json( return self._download_json(
'https://gql.twitch.tv/gql', video_id, note, 'https://gql.twitch.tv/gql', video_id, note,
data=json.dumps(ops).encode(), data=json.dumps(ops).encode(),