Add compat_map/filter and use the former
authordf <fieldhouse@gmx.net>
Mon, 1 Nov 2021 13:34:29 +0000 (13:34 +0000)
committerdirkf <fieldhouse@gmx.net>
Sun, 30 Jan 2022 00:05:36 +0000 (00:05 +0000)
youtube_dl/compat.py
youtube_dl/extractor/youtube.py

index 9e45c454b2628c7e44745fb54ecafa7d2b9f3379..29e0d3a02927272870e1cce44c8ef857052c9016 100644 (file)
@@ -2962,6 +2962,25 @@ else:
         compat_Struct = struct.Struct
 
 
+# compat_map/filter() returning an iterator, supposedly the
+# same versioning as for zip below
+try:
+    from future_builtins import map as compat_map
+except ImportError:
+    try:
+        from itertools import imap as compat_map
+    except ImportError:
+        compat_map = map
+
+try:
+    from future_builtins import filter as compat_filter
+except ImportError:
+    try:
+        from itertools import ifilter as compat_filter
+    except ImportError:
+        compat_filter = filter
+
+
 try:
     from future_builtins import zip as compat_zip
 except ImportError:  # not 2.6+ or is 3.x
@@ -3015,6 +3034,7 @@ __all__ = [
     'compat_etree_fromstring',
     'compat_etree_register_namespace',
     'compat_expanduser',
+    'compat_filter',
     'compat_get_terminal_size',
     'compat_getenv',
     'compat_getpass',
@@ -3026,6 +3046,7 @@ __all__ = [
     'compat_integer_types',
     'compat_itertools_count',
     'compat_kwargs',
+    'compat_map',
     'compat_numeric_types',
     'compat_ord',
     'compat_os_name',
index 62e58c13e47093f0295f3eb5460a188fdd1c7678..da410f8f01cb982ebb1dc8f56350d7f703bd2ddb 100644 (file)
@@ -13,6 +13,7 @@ from .common import InfoExtractor, SearchInfoExtractor
 from ..compat import (
     compat_chr,
     compat_HTTPError,
+    compat_map as map,
     compat_parse_qs,
     compat_str,
     compat_urllib_parse_unquote_plus,