From a756d434364459b011dcc5d110a4171380a1bf9c Mon Sep 17 00:00:00 2001 From: sepro <4618135+seproDev@users.noreply.github.com> Date: Thu, 13 Jun 2024 08:38:35 +0200 Subject: [PATCH] [cookies] Remove from stdlib import This goes against current style recommendations. It also prevents yt-dlp from loading in python environments where ssl is available, but hashlib.pbkdf2_hmac is not, like Pyodide. --- yt_dlp/cookies.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py index 0850ad260..9405242a1 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py @@ -3,6 +3,7 @@ import contextlib import datetime as dt import glob +import hashlib import http.cookiejar import http.cookies import io @@ -17,13 +18,13 @@ import time import urllib.request from enum import Enum, auto -from hashlib import pbkdf2_hmac from .aes import ( aes_cbc_decrypt_bytes, aes_gcm_decrypt_and_verify_bytes, unpad_pkcs7, ) + from .compat import functools # isort: split from .compat import compat_os_name from .dependencies import ( @@ -1001,7 +1002,7 @@ def _get_windows_v10_key(browser_root, logger): def pbkdf2_sha1(password, salt, iterations, key_length): - return pbkdf2_hmac('sha1', password, salt, iterations, key_length) + return hashlib.pbkdf2_hmac('sha1', password, salt, iterations, key_length) def _decrypt_aes_cbc_multi(ciphertext, keys, logger, initialization_vector=b' ' * 16):