aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/compat
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-04-29 07:18:36 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-04-29 07:39:33 +0530
commit1d485a1a799bbeeb2faea0595676ca7d4c0f3716 (patch)
tree17e1f06c8a4e3a1fa8083c2017812988e6acc8f5 /yt_dlp/compat
parent0a41f331cc3e06007b8d1abe104da196c565b505 (diff)
downloadhypervideo-pre-1d485a1a799bbeeb2faea0595676ca7d4c0f3716.tar.lz
hypervideo-pre-1d485a1a799bbeeb2faea0595676ca7d4c0f3716.tar.xz
hypervideo-pre-1d485a1a799bbeeb2faea0595676ca7d4c0f3716.zip
[cleanup] Misc fixes
Closes #3565, https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
Diffstat (limited to 'yt_dlp/compat')
-rw-r--r--yt_dlp/compat/__init__.py4
-rw-r--r--yt_dlp/compat/_deprecated.py5
-rw-r--r--yt_dlp/compat/asyncio.py1
-rw-r--r--yt_dlp/compat/compat_utils.py22
-rw-r--r--yt_dlp/compat/re.py1
5 files changed, 24 insertions, 9 deletions
diff --git a/yt_dlp/compat/__init__.py b/yt_dlp/compat/__init__.py
index 3c395f6d9..a0cd62110 100644
--- a/yt_dlp/compat/__init__.py
+++ b/yt_dlp/compat/__init__.py
@@ -46,10 +46,6 @@ def compat_ord(c):
return c if isinstance(c, int) else ord(c)
-def compat_setenv(key, value, env=os.environ):
- env[key] = value
-
-
if compat_os_name == 'nt' and sys.version_info < (3, 8):
# os.path.realpath on Windows does not follow symbolic links
# prior to Python 3.8 (see https://bugs.python.org/issue9949)
diff --git a/yt_dlp/compat/_deprecated.py b/yt_dlp/compat/_deprecated.py
index f84439825..390f76577 100644
--- a/yt_dlp/compat/_deprecated.py
+++ b/yt_dlp/compat/_deprecated.py
@@ -44,4 +44,9 @@ compat_urllib_parse_urlparse = urllib.parse.urlparse
compat_urllib_request = urllib.request
compat_urlparse = compat_urllib_parse = urllib.parse
+
+def compat_setenv(key, value, env=os.environ):
+ env[key] = value
+
+
__all__ = [x for x in globals() if x.startswith('compat_')]
diff --git a/yt_dlp/compat/asyncio.py b/yt_dlp/compat/asyncio.py
index f80dc192d..c61e5c8fd 100644
--- a/yt_dlp/compat/asyncio.py
+++ b/yt_dlp/compat/asyncio.py
@@ -1,5 +1,4 @@
# flake8: noqa: F405
-
from asyncio import * # noqa: F403
from .compat_utils import passthrough_module
diff --git a/yt_dlp/compat/compat_utils.py b/yt_dlp/compat/compat_utils.py
index 938daf926..b1d58f5b9 100644
--- a/yt_dlp/compat/compat_utils.py
+++ b/yt_dlp/compat/compat_utils.py
@@ -1,9 +1,28 @@
+import collections
import contextlib
import importlib
import sys
import types
+_NO_ATTRIBUTE = object()
+
+_Package = collections.namedtuple('Package', ('name', 'version'))
+
+
+def get_package_info(module):
+ parent = module.__name__.split('.')[0]
+ parent_module = None
+ with contextlib.suppress(ImportError):
+ parent_module = importlib.import_module(parent)
+
+ for attr in ('__version__', 'version_string', 'version'):
+ version = getattr(parent_module, attr, None)
+ if version is not None:
+ break
+ return _Package(getattr(module, '_yt_dlp__identifier', parent), str(version))
+
+
def _is_package(module):
try:
module.__getattribute__('__path__')
@@ -12,9 +31,6 @@ def _is_package(module):
return True
-_NO_ATTRIBUTE = object()
-
-
def passthrough_module(parent, child, *, callback=lambda _: None):
parent_module = importlib.import_module(parent)
child_module = importlib.import_module(child, parent)
diff --git a/yt_dlp/compat/re.py b/yt_dlp/compat/re.py
index d4532950a..e1d3a2645 100644
--- a/yt_dlp/compat/re.py
+++ b/yt_dlp/compat/re.py
@@ -1,5 +1,4 @@
# flake8: noqa: F405
-
from re import * # F403
from .compat_utils import passthrough_module