summaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/zattoo.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/extractor/zattoo.py')
-rw-r--r--yt_dlp/extractor/zattoo.py49
1 files changed, 23 insertions, 26 deletions
diff --git a/yt_dlp/extractor/zattoo.py b/yt_dlp/extractor/zattoo.py
index 5cc9c5f..161804b 100644
--- a/yt_dlp/extractor/zattoo.py
+++ b/yt_dlp/extractor/zattoo.py
@@ -2,7 +2,6 @@ import re
import uuid
from .common import InfoExtractor
-from ..compat import compat_str
from ..networking.exceptions import HTTPError
from ..utils import (
ExtractorError,
@@ -27,13 +26,13 @@ class ZattooPlatformBaseIE(InfoExtractor):
def _perform_login(self, username, password):
try:
data = self._download_json(
- '%s/zapi/v2/account/login' % self._host_url(), None, 'Logging in',
+ f'{self._host_url()}/zapi/v2/account/login', None, 'Logging in',
data=urlencode_postdata({
'login': username,
'password': password,
'remember': 'true',
}), headers={
- 'Referer': '%s/login' % self._host_url(),
+ 'Referer': f'{self._host_url()}/login',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
})
except ExtractorError as e:
@@ -51,9 +50,9 @@ class ZattooPlatformBaseIE(InfoExtractor):
# Will setup appropriate cookies
self._request_webpage(
- '%s/zapi/v3/session/hello' % self._host_url(), None,
+ f'{self._host_url()}/zapi/v3/session/hello', None,
'Opening session', data=urlencode_postdata({
- 'uuid': compat_str(uuid.uuid4()),
+ 'uuid': str(uuid.uuid4()),
'lang': 'en',
'app_version': '1.8.2',
'format': 'json',
@@ -72,8 +71,7 @@ class ZattooPlatformBaseIE(InfoExtractor):
def _extract_cid(self, video_id, channel_name):
channel_groups = self._download_json(
- '%s/zapi/v2/cached/channels/%s' % (self._host_url(),
- self._power_guide_hash),
+ f'{self._host_url()}/zapi/v2/cached/channels/{self._power_guide_hash}',
video_id, 'Downloading channel list',
query={'details': False})['channel_groups']
channel_list = []
@@ -90,8 +88,7 @@ class ZattooPlatformBaseIE(InfoExtractor):
def _extract_cid_and_video_info(self, video_id):
data = self._download_json(
- '%s/zapi/v2/cached/program/power_details/%s' % (
- self._host_url(), self._power_guide_hash),
+ f'{self._host_url()}/zapi/v2/cached/program/power_details/{self._power_guide_hash}',
video_id,
'Downloading video information',
query={
@@ -113,7 +110,7 @@ class ZattooPlatformBaseIE(InfoExtractor):
'season_number': int_or_none(p.get('s_no')),
'release_year': int_or_none(p.get('year')),
'categories': try_get(p, lambda x: x['c'], list),
- 'tags': try_get(p, lambda x: x['g'], list)
+ 'tags': try_get(p, lambda x: x['g'], list),
}
return cid, info_dict
@@ -123,7 +120,7 @@ class ZattooPlatformBaseIE(InfoExtractor):
@returns (ondemand_token, ondemand_type, info_dict)
"""
data = self._download_json(
- '%s/zapi/vod/movies/%s' % (self._host_url(), ondemand_id),
+ f'{self._host_url()}/zapi/vod/movies/{ondemand_id}',
ondemand_id, 'Downloading ondemand information')
info_dict = {
'id': ondemand_id,
@@ -144,18 +141,18 @@ class ZattooPlatformBaseIE(InfoExtractor):
if is_live:
postdata_common.update({'timeshift': 10800})
- url = '%s/zapi/watch/live/%s' % (self._host_url(), cid)
+ url = f'{self._host_url()}/zapi/watch/live/{cid}'
elif record_id:
- url = '%s/zapi/watch/recording/%s' % (self._host_url(), record_id)
+ url = f'{self._host_url()}/zapi/watch/recording/{record_id}'
elif ondemand_id:
postdata_common.update({
'teasable_id': ondemand_id,
'term_token': ondemand_termtoken,
- 'teasable_type': ondemand_type
+ 'teasable_type': ondemand_type,
})
- url = '%s/zapi/watch/vod/video' % self._host_url()
+ url = f'{self._host_url()}/zapi/watch/vod/video'
else:
- url = '%s/zapi/v3/watch/replay/%s/%s' % (self._host_url(), cid, video_id)
+ url = f'{self._host_url()}/zapi/v3/watch/replay/{cid}/{video_id}'
formats = []
subtitles = {}
for stream_type in ('dash', 'hls7'):
@@ -163,7 +160,7 @@ class ZattooPlatformBaseIE(InfoExtractor):
postdata['stream_type'] = stream_type
data = self._download_json(
- url, video_id, 'Downloading %s formats' % stream_type.upper(),
+ url, video_id, f'Downloading {stream_type.upper()} formats',
data=urlencode_postdata(postdata), fatal=False)
if not data:
continue
@@ -218,7 +215,7 @@ class ZattooPlatformBaseIE(InfoExtractor):
'title': channel_name,
'is_live': True,
'formats': formats,
- 'subtitles': subtitles
+ 'subtitles': subtitles,
}
def _extract_record(self, record_id):
@@ -267,9 +264,9 @@ class ZattooIE(ZattooBaseIE):
'release_year': 2022,
'episode': 'Folge 1655',
'categories': 'count:1',
- 'tags': 'count:2'
+ 'tags': 'count:2',
},
- 'params': {'skip_download': 'm3u8'}
+ 'params': {'skip_download': 'm3u8'},
}, {
'url': 'https://zattoo.com/program/daserste/210177916',
'only_matching': True,
@@ -322,7 +319,7 @@ class ZattooRecordingsIE(ZattooBaseIE):
class NetPlusTVBaseIE(ZattooPlatformBaseIE):
_NETRC_MACHINE = 'netplus'
_HOST = 'netplus.tv'
- _API_HOST = 'www.%s' % _HOST
+ _API_HOST = f'www.{_HOST}'
class NetPlusTVIE(NetPlusTVBaseIE):
@@ -458,7 +455,7 @@ class WalyTVRecordingsIE(WalyTVBaseIE):
class BBVTVBaseIE(ZattooPlatformBaseIE):
_NETRC_MACHINE = 'bbvtv'
_HOST = 'bbv-tv.net'
- _API_HOST = 'www.%s' % _HOST
+ _API_HOST = f'www.{_HOST}'
class BBVTVIE(BBVTVBaseIE):
@@ -504,7 +501,7 @@ class BBVTVRecordingsIE(BBVTVBaseIE):
class VTXTVBaseIE(ZattooPlatformBaseIE):
_NETRC_MACHINE = 'vtxtv'
_HOST = 'vtxtv.ch'
- _API_HOST = 'www.%s' % _HOST
+ _API_HOST = f'www.{_HOST}'
class VTXTVIE(VTXTVBaseIE):
@@ -595,7 +592,7 @@ class GlattvisionTVRecordingsIE(GlattvisionTVBaseIE):
class SAKTVBaseIE(ZattooPlatformBaseIE):
_NETRC_MACHINE = 'saktv'
_HOST = 'saktv.ch'
- _API_HOST = 'www.%s' % _HOST
+ _API_HOST = f'www.{_HOST}'
class SAKTVIE(SAKTVBaseIE):
@@ -686,7 +683,7 @@ class EWETVRecordingsIE(EWETVBaseIE):
class QuantumTVBaseIE(ZattooPlatformBaseIE):
_NETRC_MACHINE = 'quantumtv'
_HOST = 'quantum-tv.com'
- _API_HOST = 'www.%s' % _HOST
+ _API_HOST = f'www.{_HOST}'
class QuantumTVIE(QuantumTVBaseIE):
@@ -777,7 +774,7 @@ class OsnatelTVRecordingsIE(OsnatelTVBaseIE):
class EinsUndEinsTVBaseIE(ZattooPlatformBaseIE):
_NETRC_MACHINE = '1und1tv'
_HOST = '1und1.tv'
- _API_HOST = 'www.%s' % _HOST
+ _API_HOST = f'www.{_HOST}'
class EinsUndEinsTVIE(EinsUndEinsTVBaseIE):