[ie/youtube] Fix PO token sanitization for Python 3.15 (#16884)

Closes #16876
Authored by: Grub4K
This commit is contained in:
Simon Sawicki 2026-06-06 22:49:26 +02:00 committed by GitHub
parent acf8ab7a6e
commit 7fdc46d016
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -438,9 +438,11 @@ def clean_pot(po_token: str):
if not mobj: if not mobj:
raise ValueError('Invalid PO Token') raise ValueError('Invalid PO Token')
# compat: <=py3.14: padded was added in 3.15 and the default for urlsafe is false
data = mobj.group(1).translate(str.maketrans('-_', '+/'))
try: try:
return base64.urlsafe_b64encode( return base64.urlsafe_b64encode(
base64.urlsafe_b64decode(mobj.group(1))).decode() base64.b64decode(data)).decode()
except (binascii.Error, ValueError): except (binascii.Error, ValueError):
raise ValueError('Invalid PO Token') raise ValueError('Invalid PO Token')