mirror of
https://github.com/yt-dlp/yt-dlp
synced 2024-12-27 21:59:17 +01:00
Merge branch 'yt-dlp:master' into master
This commit is contained in:
commit
2358117d39
3 changed files with 18 additions and 9 deletions
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
|
@ -240,7 +240,7 @@ jobs:
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
actions: write # For cleaning up cache
|
actions: write # For cleaning up cache
|
||||||
runs-on: macos-12
|
runs-on: macos-13
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
@ -346,7 +346,7 @@ jobs:
|
||||||
macos_legacy:
|
macos_legacy:
|
||||||
needs: process
|
needs: process
|
||||||
if: inputs.macos_legacy
|
if: inputs.macos_legacy
|
||||||
runs-on: macos-12
|
runs-on: macos-13
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
|
@ -1355,6 +1355,7 @@ MSO_INFO = {
|
||||||
class AdobePassIE(InfoExtractor): # XXX: Conventionally, base classes should end with BaseIE/InfoExtractor
|
class AdobePassIE(InfoExtractor): # XXX: Conventionally, base classes should end with BaseIE/InfoExtractor
|
||||||
_SERVICE_PROVIDER_TEMPLATE = 'https://sp.auth.adobe.com/adobe-services/%s'
|
_SERVICE_PROVIDER_TEMPLATE = 'https://sp.auth.adobe.com/adobe-services/%s'
|
||||||
_USER_AGENT = 'Mozilla/5.0 (X11; Linux i686; rv:47.0) Gecko/20100101 Firefox/47.0'
|
_USER_AGENT = 'Mozilla/5.0 (X11; Linux i686; rv:47.0) Gecko/20100101 Firefox/47.0'
|
||||||
|
_MODERN_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; rv:131.0) Gecko/20100101 Firefox/131.0'
|
||||||
_MVPD_CACHE = 'ap-mvpd'
|
_MVPD_CACHE = 'ap-mvpd'
|
||||||
|
|
||||||
_DOWNLOADING_LOGIN_PAGE = 'Downloading Provider Login Page'
|
_DOWNLOADING_LOGIN_PAGE = 'Downloading Provider Login Page'
|
||||||
|
@ -1454,7 +1455,11 @@ class AdobePassIE(InfoExtractor): # XXX: Conventionally, base classes should en
|
||||||
'no_iframe': 'false',
|
'no_iframe': 'false',
|
||||||
'domain_name': 'adobe.com',
|
'domain_name': 'adobe.com',
|
||||||
'redirect_url': url,
|
'redirect_url': url,
|
||||||
})
|
}, headers={
|
||||||
|
# yt-dlp's default user-agent is usually too old for Comcast_SSO
|
||||||
|
# See: https://github.com/yt-dlp/yt-dlp/issues/10848
|
||||||
|
'User-Agent': self._MODERN_USER_AGENT,
|
||||||
|
} if mso_id == 'Comcast_SSO' else None)
|
||||||
elif not self._cookies_passed:
|
elif not self._cookies_passed:
|
||||||
raise_mvpd_required()
|
raise_mvpd_required()
|
||||||
|
|
||||||
|
|
|
@ -824,14 +824,18 @@ class Popen(subprocess.Popen):
|
||||||
_startupinfo = None
|
_startupinfo = None
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _fix_pyinstaller_ld_path(env):
|
def _fix_pyinstaller_issues(env):
|
||||||
"""Restore LD_LIBRARY_PATH when using PyInstaller
|
|
||||||
Ref: https://github.com/pyinstaller/pyinstaller/blob/develop/doc/runtime-information.rst#ld_library_path--libpath-considerations
|
|
||||||
https://github.com/yt-dlp/yt-dlp/issues/4573
|
|
||||||
"""
|
|
||||||
if not hasattr(sys, '_MEIPASS'):
|
if not hasattr(sys, '_MEIPASS'):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# Force spawning independent subprocesses for exes bundled with PyInstaller>=6.10
|
||||||
|
# Ref: https://pyinstaller.org/en/v6.10.0/CHANGES.html#incompatible-changes
|
||||||
|
# https://github.com/yt-dlp/yt-dlp/issues/11259
|
||||||
|
env['PYINSTALLER_RESET_ENVIRONMENT'] = '1'
|
||||||
|
|
||||||
|
# Restore LD_LIBRARY_PATH when using PyInstaller
|
||||||
|
# Ref: https://pyinstaller.org/en/v6.10.0/runtime-information.html#ld-library-path-libpath-considerations
|
||||||
|
# https://github.com/yt-dlp/yt-dlp/issues/4573
|
||||||
def _fix(key):
|
def _fix(key):
|
||||||
orig = env.get(f'{key}_ORIG')
|
orig = env.get(f'{key}_ORIG')
|
||||||
if orig is None:
|
if orig is None:
|
||||||
|
@ -845,7 +849,7 @@ class Popen(subprocess.Popen):
|
||||||
def __init__(self, args, *remaining, env=None, text=False, shell=False, **kwargs):
|
def __init__(self, args, *remaining, env=None, text=False, shell=False, **kwargs):
|
||||||
if env is None:
|
if env is None:
|
||||||
env = os.environ.copy()
|
env = os.environ.copy()
|
||||||
self._fix_pyinstaller_ld_path(env)
|
self._fix_pyinstaller_issues(env)
|
||||||
|
|
||||||
self.__text_mode = kwargs.get('encoding') or kwargs.get('errors') or text or kwargs.get('universal_newlines')
|
self.__text_mode = kwargs.get('encoding') or kwargs.get('errors') or text or kwargs.get('universal_newlines')
|
||||||
if text is True:
|
if text is True:
|
||||||
|
|
Loading…
Reference in a new issue