logo

youtube-dl

[mirror] Download/Watch videos from video hostersgit clone https://hacktivis.me/git/mirror/youtube-dl.git
commit: 5b72f5b74fb144afb9001d43be34e34ad8fbb39e
parent bfa345744d055b2420f82336b339a51a9d73b28a
Author: Remita Amine <remitamine@gmail.com>
Date:   Mon, 21 Dec 2020 09:02:45 +0100

[anvato] remove NFLTokenGenerator

until a better solution is introduced that:
- works with lazy_extractors
- allows for 3rd party token generators

Diffstat:

Myoutube_dl/extractor/anvato.py14+++-----------
Dyoutube_dl/extractor/anvato_token_generator/__init__.py7-------
Dyoutube_dl/extractor/anvato_token_generator/common.py6------
Dyoutube_dl/extractor/anvato_token_generator/nfl.py30------------------------------
4 files changed, 3 insertions(+), 54 deletions(-)

diff --git a/youtube_dl/extractor/anvato.py b/youtube_dl/extractor/anvato.py @@ -9,7 +9,6 @@ import re import time from .common import InfoExtractor -# from .anvato_token_generator import NFLTokenGenerator from ..aes import aes_encrypt from ..compat import compat_str from ..utils import ( @@ -204,10 +203,6 @@ class AnvatoIE(InfoExtractor): 'telemundo': 'anvato_mcp_telemundo_web_prod_c5278d51ad46fda4b6ca3d0ea44a7846a054f582' } - _TOKEN_GENERATORS = { - # 'GXvEgwyJeWem8KCYXfeoHWknwP48Mboj': NFLTokenGenerator, - } - _API_KEY = '3hwbSuqqT690uxjNYBktSQpa5ZrpYYR0Iofx7NcJHyA' _ANVP_RE = r'<script[^>]+\bdata-anvp\s*=\s*(["\'])(?P<anvp>(?:(?!\1).)+)\1' @@ -267,12 +262,9 @@ class AnvatoIE(InfoExtractor): 'anvrid': anvrid, 'anvts': server_time, } - if access_key in self._TOKEN_GENERATORS: - api['anvstk2'] = self._TOKEN_GENERATORS[access_key].generate(self, access_key, video_id) - else: - api['anvstk'] = md5_text('%s|%s|%d|%s' % ( - access_key, anvrid, server_time, - self._ANVACK_TABLE.get(access_key, self._API_KEY))) + api['anvstk'] = md5_text('%s|%s|%d|%s' % ( + access_key, anvrid, server_time, + self._ANVACK_TABLE.get(access_key, self._API_KEY))) return self._download_json( video_data_url, video_id, transform_source=strip_jsonp, diff --git a/youtube_dl/extractor/anvato_token_generator/__init__.py b/youtube_dl/extractor/anvato_token_generator/__init__.py @@ -1,7 +0,0 @@ -from __future__ import unicode_literals - -from .nfl import NFLTokenGenerator - -__all__ = [ - 'NFLTokenGenerator', -] diff --git a/youtube_dl/extractor/anvato_token_generator/common.py b/youtube_dl/extractor/anvato_token_generator/common.py @@ -1,6 +0,0 @@ -from __future__ import unicode_literals - - -class TokenGenerator: - def generate(self, anvack, mcp_id): - raise NotImplementedError('This method must be implemented by subclasses') diff --git a/youtube_dl/extractor/anvato_token_generator/nfl.py b/youtube_dl/extractor/anvato_token_generator/nfl.py @@ -1,30 +0,0 @@ -from __future__ import unicode_literals - -import json - -from .common import TokenGenerator - - -class NFLTokenGenerator(TokenGenerator): - _AUTHORIZATION = None - - def generate(ie, anvack, mcp_id): - if not NFLTokenGenerator._AUTHORIZATION: - reroute = ie._download_json( - 'https://api.nfl.com/v1/reroute', mcp_id, - data=b'grant_type=client_credentials', - headers={'X-Domain-Id': 100}) - NFLTokenGenerator._AUTHORIZATION = '%s %s' % (reroute.get('token_type') or 'Bearer', reroute['access_token']) - return ie._download_json( - 'https://api.nfl.com/v3/shield/', mcp_id, data=json.dumps({ - 'query': '''{ - viewer { - mediaToken(anvack: "%s", id: %s) { - token - } - } -}''' % (anvack, mcp_id), - }).encode(), headers={ - 'Authorization': NFLTokenGenerator._AUTHORIZATION, - 'Content-Type': 'application/json', - })['data']['viewer']['mediaToken']['token']