diff options
Diffstat (limited to 'yt_dlp')
-rw-r--r-- | yt_dlp/YoutubeDL.py | 10 | ||||
-rw-r--r-- | yt_dlp/utils/_utils.py | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 077a37b30..a546ce65b 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1286,17 +1286,17 @@ class YoutubeDL: if fmt == 's' and value is not None and key in field_size_compat_map.keys(): fmt = f'0{field_size_compat_map[key]:d}d' - if value is None: - value = default - elif replacement is not None: + if None not in (value, replacement): try: value = replacement_formatter.format(replacement, value) except ValueError: - value = na + value, default = None, na flags = outer_mobj.group('conversion') or '' str_fmt = f'{fmt[:-1]}s' - if fmt[-1] == 'l': # list + if value is None: + value, fmt = default, 's' + elif fmt[-1] == 'l': # list delim = '\n' if '#' in flags else ', ' value, fmt = delim.join(map(str, variadic(value, allowed_types=(str, bytes)))), str_fmt elif fmt[-1] == 'j': # json diff --git a/yt_dlp/utils/_utils.py b/yt_dlp/utils/_utils.py index 256e2db5a..d10d621d5 100644 --- a/yt_dlp/utils/_utils.py +++ b/yt_dlp/utils/_utils.py @@ -3302,7 +3302,7 @@ STR_FORMAT_RE_TMPL = r'''(?x) ''' -STR_FORMAT_TYPES = 'diouxXeEfFgGcrs' +STR_FORMAT_TYPES = 'diouxXeEfFgGcrsa' def limit_length(s, length): |