]> jfr.im git - yt-dlp.git/commitdiff
Bugfix for ebe1b4e34f43c3acad30e4bcb8484681a030c114
authorpukkandan <redacted>
Wed, 21 Jun 2023 01:19:56 +0000 (06:49 +0530)
committerpukkandan <redacted>
Wed, 21 Jun 2023 03:51:22 +0000 (09:21 +0530)
test/test_YoutubeDL.py
yt_dlp/YoutubeDL.py

index 05dd3ed4124a51e49e5b14be1e7b3d7b61938e0b..f495fa6d90aeb33f1e1ba1c958f61557a8c89c7b 100644 (file)
@@ -630,6 +630,7 @@ def test_add_extra_info(self):
         self.assertEqual(test_dict['playlist'], 'funny videos')
 
     outtmpl_info = {
+        'id': '1234',
         'id': '1234',
         'ext': 'mp4',
         'width': None,
@@ -754,6 +755,7 @@ def expect_same_infodict(out):
         test('%(ext)c', 'm')
         test('%(id)d %(id)r', "1234 '1234'")
         test('%(id)r %(height)r', "'1234' 1080")
+        test('%(title5)a %(height)a', (R"'\xe1\xe9\xed \U0001d400' 1080", None))
         test('%(ext)s-%(ext|def)d', 'mp4-def')
         test('%(width|0)04d', '0')
         test('a%(width|b)d', 'ab', outtmpl_na_placeholder='none')
index 503aafbc773ee1ec3bb1c656059d60c0363b556e..bc5c1b95eeffb295882fdb486dc0fcf47659ca01 100644 (file)
@@ -1328,17 +1328,19 @@ def create_key(outer_mobj):
                     value = str(value)[0]
                 else:
                     fmt = str_fmt
-            elif fmt[-1] not in 'rs':  # numeric
+            elif fmt[-1] not in 'rsa':  # numeric
                 value = float_or_none(value)
                 if value is None:
                     value, fmt = default, 's'
 
             if sanitize:
+                # If value is an object, sanitize might convert it to a string
+                # So we convert it to repr first
                 if fmt[-1] == 'r':
-                    # If value is an object, sanitize might convert it to a string
-                    # So we convert it to repr first
                     value, fmt = repr(value), str_fmt
-                if fmt[-1] in 'csr':
+                elif fmt[-1] == 'a':
+                    value, fmt = ascii(value), str_fmt
+                if fmt[-1] in 'csra':
                     value = sanitizer(initial_field, value)
 
             key = '%s\0%s' % (key.replace('%', '%\0'), outer_mobj.group('format'))