Nikita Korolev 2024-05-06 11:33:12 +02:00 zatwierdzone przez GitHub
commit a030078d35
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
2 zmienionych plików z 15 dodań i 6 usunięć

Wyświetl plik

@ -846,6 +846,15 @@ class TestYoutubeDL(unittest.TestCase):
# test('%(foo|)s.%(ext)s', ('.mp4', '_.mp4')) # fixme
# test('%(foo|)s', ('', '_')) # fixme
# Trim filename
test('%(id)s.%(filesize)s.%(ext)s', ('1234.1024.mp4', '123.mp4'), trim_file_name=3)
test(
'%(id)s.%(filesize)s.%(ext)s',
('1234.1024.info.json', '123.info.json'),
info=dict(self.outtmpl_info, ext='info.json'), trim_file_name=3
)
test('12 34.%(filesize)s.%(ext)s', ('12 34.1024.mp4', '12 .mp4'), trim_file_name=3)
# Environment variable expansion for prepare_filename
os.environ['__yt_dlp_var'] = 'expanded'
envvar = '%__yt_dlp_var%' if compat_os_name == 'nt' else '$__yt_dlp_var'

Wyświetl plik

@ -1410,6 +1410,12 @@ class YoutubeDL:
if not filename:
return None
trim_file_name = self.params.get('trim_file_name')
if trim_file_name:
# https://github.com/yt-dlp/yt-dlp/issues/5526#issuecomment-1312783517
no_ext, *ext = filename.rsplit('.', info_dict.get('ext', '').count('.') + 1)
filename = join_nonempty(no_ext[:trim_file_name], *ext, delim='.')
if tmpl_type in ('', 'temp'):
final_ext, ext = self.params.get('final_ext'), info_dict.get('ext')
if final_ext and ext and final_ext != ext and filename.endswith(f'.{final_ext}'):
@ -1419,12 +1425,6 @@ class YoutubeDL:
if force_ext:
filename = replace_extension(filename, force_ext, info_dict.get('ext'))
# https://github.com/blackjack4494/youtube-dlc/issues/85
trim_file_name = self.params.get('trim_file_name', False)
if trim_file_name:
no_ext, *ext = filename.rsplit('.', 2)
filename = join_nonempty(no_ext[:trim_file_name], *ext, delim='.')
return filename
except ValueError as err:
self.report_error('Error in output template: ' + str(err) + ' (encoding: ' + repr(preferredencoding()) + ')')