aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pyinst.py3
-rw-r--r--yt_dlp/YoutubeDL.py3
-rw-r--r--yt_dlp/compat/__init__.py16
3 files changed, 8 insertions, 14 deletions
diff --git a/pyinst.py b/pyinst.py
index 526e8802f..31854e881 100644
--- a/pyinst.py
+++ b/pyinst.py
@@ -33,9 +33,6 @@ def main():
'--icon=devscripts/logo.ico',
'--upx-exclude=vcruntime140.dll',
'--noconfirm',
- # NB: Modules that are only imported dynamically must be added here.
- # --collect-submodules may not work correctly if user has a yt-dlp installed via PIP
- '--hidden-import=yt_dlp.compat._legacy',
*dependency_options(),
*opts,
'yt_dlp/__main__.py',
diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py
index ffc5ff8c0..0f8a51dbe 100644
--- a/yt_dlp/YoutubeDL.py
+++ b/yt_dlp/YoutubeDL.py
@@ -24,7 +24,6 @@ import urllib.request
from string import ascii_letters
from .cache import Cache
-from .compat import HAS_LEGACY as compat_has_legacy
from .compat import compat_os_name, compat_shlex_quote
from .cookies import load_cookies
from .downloader import FFmpegFD, get_suitable_downloader, shorten_protocol_name
@@ -623,8 +622,6 @@ class YoutubeDL:
self.deprecation_warning(msg)
self.params['compat_opts'] = set(self.params.get('compat_opts', ()))
- if not compat_has_legacy:
- self.params['compat_opts'].add('no-compat-legacy')
if 'list-formats' in self.params['compat_opts']:
self.params['listformats_table'] = False
diff --git a/yt_dlp/compat/__init__.py b/yt_dlp/compat/__init__.py
index 9f8e8c3e5..df1d4e671 100644
--- a/yt_dlp/compat/__init__.py
+++ b/yt_dlp/compat/__init__.py
@@ -8,14 +8,8 @@ from ._deprecated import * # noqa: F401, F403
from .compat_utils import passthrough_module
# XXX: Implement this the same way as other DeprecationWarnings without circular import
-try:
- passthrough_module(__name__, '._legacy', callback=lambda attr: warnings.warn(
- DeprecationWarning(f'{__name__}.{attr} is deprecated'), stacklevel=2))
- HAS_LEGACY = True
-except ModuleNotFoundError:
- # Keep working even without _legacy module
- HAS_LEGACY = False
-del passthrough_module
+passthrough_module(__name__, '._legacy', callback=lambda attr: warnings.warn(
+ DeprecationWarning(f'{__name__}.{attr} is deprecated'), stacklevel=2))
# HTMLParseError has been deprecated in Python 3.3 and removed in
@@ -76,3 +70,9 @@ if compat_os_name in ('nt', 'ce'):
return userhome + path[i:]
else:
compat_expanduser = os.path.expanduser
+
+
+# NB: Add modules that are imported dynamically here so that PyInstaller can find them
+# See https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/438
+if False:
+ from . import _legacy # noqa: F401