]> jfr.im git - yt-dlp.git/commitdiff
Fix bug in 07a1250e0e90515ff8142161536f9dafa6eaba1b
authorpukkandan <redacted>
Tue, 6 Sep 2022 14:26:56 +0000 (19:56 +0530)
committerpukkandan <redacted>
Tue, 6 Sep 2022 14:27:29 +0000 (19:57 +0530)
yt_dlp/YoutubeDL.py

index 58c5c47501d75baa5061b33442a5b042dde26fbb..99db8be9237aa251180008d3e75fdb0fd89436c4 100644 (file)
@@ -2813,13 +2813,16 @@ def _forceprint(self, key, info_dict):
         info_copy['automatic_captions_table'] = self.render_subtitles_table(info_dict.get('id'), info_dict.get('automatic_captions'))
 
         def format_tmpl(tmpl):
-            mobj = re.fullmatch(r'([\w.:,-]|(?P<dict>{[\w.:,-]+}))+=', tmpl)
+            mobj = re.fullmatch(r'([\w.:,]|-\d|(?P<dict>{([\w.:,]|-\d)+}))+=?', tmpl)
             if not mobj:
                 return tmpl
-            elif not mobj.group('dict'):
-                return '\n'.join(f'{f} = %({f})r' for f in tmpl[:-1].split(','))
-            tmpl = f'.{tmpl[:-1]}' if tmpl.startswith('{') else tmpl[:-1]
-            return f'{tmpl} = %({tmpl})#j'
+
+            fmt = '%({})s'
+            if tmpl.startswith('{'):
+                tmpl = f'.{tmpl}'
+            if tmpl.endswith('='):
+                tmpl, fmt = tmpl[:-1], '{0} = %({0})#j'
+            return '\n'.join(map(fmt.format, [tmpl] if mobj.group('dict') else tmpl.split(',')))
 
         for tmpl in self.params['forceprint'].get(key, []):
             self.to_stdout(self.evaluate_outtmpl(format_tmpl(tmpl), info_copy))