mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-11-08 10:35:12 +00:00
[outtmpl] Alternate form for D and fix suffix's case
Fixes: https://github.com/yt-dlp/yt-dlp/issues/2085#issuecomment-1002247689, https://github.com/yt-dlp/yt-dlp/pull/2132/files#r775729811
This commit is contained in:
@@ -1166,7 +1166,9 @@ class YoutubeDL(object):
|
||||
'NF%s%s' % ('K' if '+' in flags else '', 'D' if '#' in flags else 'C'),
|
||||
value), str_fmt
|
||||
elif fmt[-1] == 'D': # decimal suffix
|
||||
value, fmt = format_decimal_suffix(value, f'%{fmt[:-1]}f%s' if fmt[:-1] else '%d%s'), 's'
|
||||
num_fmt, fmt = fmt[:-1].replace('#', ''), 's'
|
||||
value = format_decimal_suffix(value, f'%{num_fmt}f%s' if num_fmt else '%d%s',
|
||||
factor=1024 if '#' in flags else 1000)
|
||||
elif fmt[-1] == 'S': # filename sanitization
|
||||
value, fmt = filename_sanitizer(initial_field, value, restricted='#' in flags), str_fmt
|
||||
elif fmt[-1] == 'c':
|
||||
|
||||
@@ -2116,9 +2116,11 @@ def format_decimal_suffix(num, fmt='%d%s', *, factor=1000):
|
||||
if num is None:
|
||||
return None
|
||||
exponent = 0 if num == 0 else int(math.log(num, factor))
|
||||
suffix = ['', *'KMGTPEZY'][exponent]
|
||||
suffix = ['', *'kMGTPEZY'][exponent]
|
||||
if factor == 1024:
|
||||
suffix = {'k': 'Ki', '': ''}.get(suffix, f'{suffix}i')
|
||||
converted = num / (factor ** exponent)
|
||||
return fmt % (converted, f'{suffix}i' if suffix and factor == 1024 else suffix)
|
||||
return fmt % (converted, suffix)
|
||||
|
||||
|
||||
def format_bytes(bytes):
|
||||
|
||||
Reference in New Issue
Block a user