mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-19 14:49:15 +00:00
More recommended changes
This commit is contained in:
parent
1021644119
commit
e8689a27ce
|
@ -26,8 +26,6 @@
|
||||||
class VRTBaseIE(InfoExtractor):
|
class VRTBaseIE(InfoExtractor):
|
||||||
_GEO_BYPASS = False
|
_GEO_BYPASS = False
|
||||||
|
|
||||||
_VIDEOPAGE_QUERY = "query VideoPage($pageId: ID!) {\n page(id: $pageId) {\n ... on EpisodePage {\n id\n title\n seo {\n ...seoFragment\n __typename\n }\n ldjson\n episode {\n onTimeRaw\n ageRaw\n name\n episodeNumberRaw\n program {\n title\n __typename\n }\n watchAction {\n streamId\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n}\nfragment seoFragment on SeoProperties {\n __typename\n title\n description\n}"
|
|
||||||
|
|
||||||
_authenticated = False
|
_authenticated = False
|
||||||
|
|
||||||
def _perform_login(self, username, password):
|
def _perform_login(self, username, password):
|
||||||
|
@ -224,14 +222,14 @@ class VrtNUIE(VRTBaseIE):
|
||||||
}]
|
}]
|
||||||
_NETRC_MACHINE = 'vrtnu'
|
_NETRC_MACHINE = 'vrtnu'
|
||||||
|
|
||||||
|
_VIDEOPAGE_QUERY = "query VideoPage($pageId: ID!) {\n page(id: $pageId) {\n ... on EpisodePage {\n id\n title\n seo {\n ...seoFragment\n __typename\n }\n ldjson\n episode {\n onTimeRaw\n ageRaw\n name\n episodeNumberRaw\n program {\n title\n __typename\n }\n watchAction {\n streamId\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n}\nfragment seoFragment on SeoProperties {\n __typename\n title\n description\n}"
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
display_id = self._match_id(url)
|
display_id = self._match_id(url)
|
||||||
parsed_url = urllib.parse.urlparse(url)
|
parsed_url = urllib.parse.urlparse(url)
|
||||||
|
|
||||||
# 1. Obtain/refresh 'vrtnu-site_profile' tokens
|
|
||||||
self._request_webpage('https://www.vrt.be/vrtnu/sso/login', None, note='Getting tokens', errnote='Failed to get tokens')
|
self._request_webpage('https://www.vrt.be/vrtnu/sso/login', None, note='Getting tokens', errnote='Failed to get tokens')
|
||||||
|
|
||||||
# 2. Perform GraphQL query to obtain video metadata
|
|
||||||
metadata = self._download_json(
|
metadata = self._download_json(
|
||||||
'https://www.vrt.be/vrtnu-api/graphql/v1',
|
'https://www.vrt.be/vrtnu-api/graphql/v1',
|
||||||
display_id, 'Downloading asset JSON', 'Unable to download asset JSON',
|
display_id, 'Downloading asset JSON', 'Unable to download asset JSON',
|
||||||
|
@ -240,9 +238,9 @@ def _real_extract(self, url):
|
||||||
)['data']['page']
|
)['data']['page']
|
||||||
|
|
||||||
video_id = metadata['episode']['watchAction']['streamId']
|
video_id = metadata['episode']['watchAction']['streamId']
|
||||||
|
# TODO : handle parse errors
|
||||||
ld_json = json.loads(metadata['ldjson'][1])
|
ld_json = json.loads(metadata['ldjson'][1])
|
||||||
|
|
||||||
# 3. Obtain streaming info
|
|
||||||
streaming_info = self._call_api(video_id, client='vrtnu-web@PROD')
|
streaming_info = self._call_api(video_id, client='vrtnu-web@PROD')
|
||||||
formats, subtitles = self._extract_formats_and_subtitles(streaming_info, video_id)
|
formats, subtitles = self._extract_formats_and_subtitles(streaming_info, video_id)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue