commit: c4b19a88169fa76c5eb665d274e7270a0fe452c4
parent 087ddc237132103859cc00183d8d70bd75c0e44e
Author: dirkf <fieldhouse@gmx.net>
Date: Wed, 2 Nov 2022 11:56:26 +0000
[compat] Work around in case folding for narrow Python build
Resolves #31324.
Diffstat:
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/youtube_dl/casefold.py b/youtube_dl/casefold.py
@@ -1639,7 +1639,15 @@ FF3A; C; FF5A; # FULLWIDTH LATIN CAPITAL LETTER Z
1E921; C; 1E943; # ADLAM CAPITAL LETTER SHA
'''
-_parse_unichr = lambda s: compat_chr(int(s, 16))
+
+def _parse_unichr(s):
+ s = int(s, 16)
+ try:
+ return compat_chr(s)
+ except ValueError:
+ # work around "unichr() arg not in range(0x10000) (narrow Python build)"
+ return ('\\U%08x' % s).decode('unicode-escape')
+
_map = dict(
(_parse_unichr(from_), ''.join(map(_parse_unichr, to_.split(' '))))