diff options
Diffstat (limited to 'yt_dlp/compat/__init__.py')
-rw-r--r-- | yt_dlp/compat/__init__.py | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/yt_dlp/compat/__init__.py b/yt_dlp/compat/__init__.py index a0cd62110..9f8e8c3e5 100644 --- a/yt_dlp/compat/__init__.py +++ b/yt_dlp/compat/__init__.py @@ -1,6 +1,4 @@ -import contextlib import os -import subprocess import sys import warnings import xml.etree.ElementTree as etree @@ -9,10 +7,14 @@ from . import re from ._deprecated import * # noqa: F401, F403 from .compat_utils import passthrough_module - # XXX: Implement this the same way as other DeprecationWarnings without circular import -passthrough_module(__name__, '._legacy', callback=lambda attr: warnings.warn( - DeprecationWarning(f'{__name__}.{attr} is deprecated'), stacklevel=2)) +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 @@ -52,7 +54,7 @@ if compat_os_name == 'nt' and sys.version_info < (3, 8): def compat_realpath(path): while os.path.islink(path): path = os.path.abspath(os.readlink(path)) - return path + return os.path.realpath(path) else: compat_realpath = os.path.realpath @@ -74,17 +76,3 @@ if compat_os_name in ('nt', 'ce'): return userhome + path[i:] else: compat_expanduser = os.path.expanduser - - -WINDOWS_VT_MODE = False if compat_os_name == 'nt' else None - - -def windows_enable_vt_mode(): # TODO: Do this the proper way https://bugs.python.org/issue30075 - if compat_os_name != 'nt': - return - global WINDOWS_VT_MODE - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - with contextlib.suppress(Exception): - subprocess.Popen('', shell=True, startupinfo=startupinfo).wait() - WINDOWS_VT_MODE = True |