import json
+import urllib.parse
import uuid
from .common import InfoExtractor
-from ..compat import (
- compat_str,
- compat_urllib_parse_unquote,
-)
from ..networking.exceptions import HTTPError
from ..utils import (
ExtractorError,
_HOME_PAGE_URL = 'https://www.fox.com/'
_API_KEY = '6E9S4bmcoNnZwVLOHywOv8PJEdu76cM9'
_access_token = None
- _device_id = compat_str(uuid.uuid4())
+ _device_id = str(uuid.uuid4())
def _call_api(self, path, video_id, data=None):
headers = {
if not self._access_token:
mvpd_auth = self._get_cookies(self._HOME_PAGE_URL).get('mvpd-auth')
if mvpd_auth:
- self._access_token = (self._parse_json(compat_urllib_parse_unquote(
+ self._access_token = (self._parse_json(urllib.parse.unquote(
mvpd_auth.value), None, fatal=False) or {}).get('accessToken')
if not self._access_token:
self._access_token = self._call_api(
video_id = self._match_id(url)
self._access_token = self._call_api(
- 'previewpassmvpd?device_id=%s&mvpd_id=TempPass_fbcfox_60min' % self._device_id,
+ f'previewpassmvpd?device_id={self._device_id}&mvpd_id=TempPass_fbcfox_60min',
video_id)['accessToken']
video = self._call_api('watch', video_id, data=json.dumps({
'provider': {
'freewheel': {'did': self._device_id},
'vdms': {'rays': ''},
- 'dmp': {'kuid': '', 'seg': ''}
+ 'dmp': {'kuid': '', 'seg': ''},
},
'playlist': '',
'privacy': {'us': '1---'},
'siteSection': '',
'streamType': 'vod',
- 'streamId': video_id}).encode('utf-8'))
+ 'streamId': video_id}).encode())
title = video['name']
release_url = video['url']