mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-09-22 02:11:26 +02:00
Compare commits
No commits in common. "b5d656ac7309f36a7a574b5766883807e4c7a196" and "89b6befb656dfdc19455e200ac43e1cd0cb860ef" have entirely different histories.
b5d656ac73
...
89b6befb65
2
.github/workflows/quick-test.yml
vendored
2
.github/workflows/quick-test.yml
vendored
|
@ -15,7 +15,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
python-version: '3.11'
|
python-version: '3.11'
|
||||||
- name: Install test requirements
|
- name: Install test requirements
|
||||||
run: pip install -r requirements.txt
|
run: pip install pytest pycryptodomex
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: |
|
run: |
|
||||||
python3 -m yt_dlp -v || true
|
python3 -m yt_dlp -v || true
|
||||||
|
|
|
@ -5,7 +5,4 @@ brotli; platform_python_implementation=='CPython'
|
||||||
brotlicffi; platform_python_implementation!='CPython'
|
brotlicffi; platform_python_implementation!='CPython'
|
||||||
certifi
|
certifi
|
||||||
requests>=2.31.0,<3
|
requests>=2.31.0,<3
|
||||||
urllib3>=1.26.17,<3
|
urllib3>=1.26.17,<3
|
||||||
|
|
||||||
# test
|
|
||||||
pytest
|
|
|
@ -19,8 +19,6 @@ def _generate_video_specific_cache_url(slug, parent_slug):
|
||||||
"""
|
"""
|
||||||
return 'https://de-api.loma-cms.com/feloma/page/{0}/?environment=tele5&parent_slug={1}&v=2'.format(slug,
|
return 'https://de-api.loma-cms.com/feloma/page/{0}/?environment=tele5&parent_slug={1}&v=2'.format(slug,
|
||||||
parent_slug)
|
parent_slug)
|
||||||
|
|
||||||
|
|
||||||
def _do_cached_post(s: requests.session,
|
def _do_cached_post(s: requests.session,
|
||||||
referer: str,
|
referer: str,
|
||||||
url: str) -> dict:
|
url: str) -> dict:
|
||||||
|
@ -47,7 +45,6 @@ def _do_cached_post(s: requests.session,
|
||||||
r.raise_for_status()
|
r.raise_for_status()
|
||||||
return r.json()
|
return r.json()
|
||||||
|
|
||||||
|
|
||||||
class Tele5IE(DPlayIE): # XXX: Do not subclass from concrete IE
|
class Tele5IE(DPlayIE): # XXX: Do not subclass from concrete IE
|
||||||
_VALID_URL = r'https?://(?:www\.)?tele5\.de/(?:[^/]+/)*(?P<id>[^/?#&]+)'
|
_VALID_URL = r'https?://(?:www\.)?tele5\.de/(?:[^/]+/)*(?P<id>[^/?#&]+)'
|
||||||
_GEO_COUNTRIES = ['DE']
|
_GEO_COUNTRIES = ['DE']
|
||||||
|
@ -131,22 +128,19 @@ class Tele5IE(DPlayIE): # XXX: Do not subclass from concrete IE
|
||||||
}]
|
}]
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
content_regex = re.compile(
|
content_regex = re.compile(r'https?://(?:www\.)?(?P<environment>[^.]+)\.de/(?P<parent_slug>[^/]+)/(?P<slug>[^/?#&]+)')
|
||||||
r'https?://(?:www\.)?(?P<environment>[^.]+)\.de/(?P<parent_slug>[^/]+)/(?P<slug>[^/?#&]+)')
|
|
||||||
m = content_regex.search(url)
|
m = content_regex.search(url)
|
||||||
if m is not None:
|
if m is not None:
|
||||||
environment, parent_slug, slug = m.groups()
|
environment, parent_slug, slug = m.groups()
|
||||||
s = requests.session()
|
s = requests.session()
|
||||||
headers_for_origin = {
|
headers_for_origin = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0'}
|
||||||
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0'}
|
|
||||||
r = s.get(url=url,
|
r = s.get(url=url,
|
||||||
headers=headers_for_origin)
|
headers=headers_for_origin)
|
||||||
r.raise_for_status()
|
r.raise_for_status()
|
||||||
|
|
||||||
cached_base = _do_cached_post(
|
cached_base = _do_cached_post(s=s,
|
||||||
s=s,
|
referer=url,
|
||||||
referer=url,
|
url='https://de-api.loma-cms.com/feloma/configurations/?environment={0}'.format(environment))
|
||||||
url='https://de-api.loma-cms.com/feloma/configurations/?environment={0}'.format(environment))
|
|
||||||
|
|
||||||
site_info = cached_base.get('data').get('settings').get('site')
|
site_info = cached_base.get('data').get('settings').get('site')
|
||||||
player_info = site_info.get('player')
|
player_info = site_info.get('player')
|
||||||
|
@ -155,11 +149,10 @@ class Tele5IE(DPlayIE): # XXX: Do not subclass from concrete IE
|
||||||
sonic_endpoint = compat_urlparse.urlparse(player_info['sonicEndpoint']).hostname
|
sonic_endpoint = compat_urlparse.urlparse(player_info['sonicEndpoint']).hostname
|
||||||
country = site_info['info']['country']
|
country = site_info['info']['country']
|
||||||
|
|
||||||
cached_video_specific = _do_cached_post(s=s,
|
cached_video_specific = _do_cached_post(s=s, referer=url,
|
||||||
referer=url,
|
url=_generate_video_specific_cache_url(
|
||||||
url=_generate_video_specific_cache_url(
|
slug=slug,
|
||||||
slug=slug,
|
parent_slug=parent_slug))
|
||||||
parent_slug=parent_slug))
|
|
||||||
|
|
||||||
video_id = cached_video_specific['data']['blocks'][1]['videoId']
|
video_id = cached_video_specific['data']['blocks'][1]['videoId']
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user