Przeglądaj źródła

[cache] Use `esc_rfc3986` to encode cache key

dirkf 5 miesięcy temu
rodzic
commit
570b868078
1 zmienionych plików z 2 dodań i 3 usunięć
  1. 2 3
      youtube_dl/cache.py

+ 2 - 3
youtube_dl/cache.py

@@ -12,10 +12,10 @@ from .compat import (
     compat_getenv,
     compat_getenv,
     compat_open as open,
     compat_open as open,
     compat_os_makedirs,
     compat_os_makedirs,
-    compat_urllib_parse,
 )
 )
 from .utils import (
 from .utils import (
     error_to_compat_str,
     error_to_compat_str,
+    escape_rfc3986,
     expand_path,
     expand_path,
     is_outdated_version,
     is_outdated_version,
     traverse_obj,
     traverse_obj,
@@ -55,8 +55,7 @@ class Cache(object):
     def _get_cache_fn(self, section, key, dtype):
     def _get_cache_fn(self, section, key, dtype):
         assert re.match(r'^[\w.-]+$', section), \
         assert re.match(r'^[\w.-]+$', section), \
             'invalid section %r' % section
             'invalid section %r' % section
-        key = compat_urllib_parse.quote(
-            key, safe='').replace('%', ',')  # encode non-ascii characters
+        key = escape_rfc3986(key, safe='').replace('%', ',')  # encode non-ascii characters
         return os.path.join(
         return os.path.join(
             self._get_root_dir(), section, '%s.%s' % (key, dtype))
             self._get_root_dir(), section, '%s.%s' % (key, dtype))