mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-28 01:41:06 +00:00
[core] add option to trim file name length with integer
https://github.com/blackjack4494/youtube-dlc/issues/85
This commit is contained in:
parent
6923b5381f
commit
bdc3fd2f35
3 changed files with 16 additions and 1 deletions
|
@ -164,7 +164,8 @@ class YoutubeDL(object):
|
|||
simulate: Do not download the video files.
|
||||
format: Video format code. See options.py for more information.
|
||||
outtmpl: Template for output names.
|
||||
restrictfilenames: Do not allow "&" and spaces in file names
|
||||
restrictfilenames: Do not allow "&" and spaces in file names.
|
||||
trim_file_name: Limit length of filename (extension excluded).
|
||||
ignoreerrors: Do not stop on download errors.
|
||||
force_generic_extractor: Force downloader to use the generic extractor
|
||||
nooverwrites: Prevent overwriting files.
|
||||
|
@ -732,6 +733,16 @@ def prepare_filename(self, info_dict):
|
|||
# title "Hello $PATH", we don't want `$PATH` to be expanded.
|
||||
filename = expand_path(outtmpl).replace(sep, '') % template_dict
|
||||
|
||||
# https://github.com/blackjack4494/youtube-dlc/issues/85
|
||||
trim_file_name = self.params.get('trim_file_name', False)
|
||||
if trim_file_name:
|
||||
fn_groups = filename.rsplit('.')
|
||||
ext = fn_groups[-1]
|
||||
sub_ext = ''
|
||||
if len(fn_groups) > 2:
|
||||
sub_ext = fn_groups[-2]
|
||||
filename = '.'.join(filter(None, [fn_groups[0][:trim_file_name], sub_ext, ext]))
|
||||
|
||||
# Temporary fix for #4787
|
||||
# 'Treat' all problem characters by passing filename through preferredencoding
|
||||
# to workaround encoding issues with subprocess on python2 @ Windows
|
||||
|
|
|
@ -390,6 +390,7 @@ def parse_retries(retries):
|
|||
'rejecttitle': decodeOption(opts.rejecttitle),
|
||||
'max_downloads': opts.max_downloads,
|
||||
'prefer_free_formats': opts.prefer_free_formats,
|
||||
'trim_file_name': opts.trim_file_name,
|
||||
'verbose': opts.verbose,
|
||||
'dump_intermediate_pages': opts.dump_intermediate_pages,
|
||||
'write_pages': opts.write_pages,
|
||||
|
|
|
@ -775,6 +775,9 @@ def _comma_separated_values_options_callback(option, opt_str, value, parser):
|
|||
'--rm-cache-dir',
|
||||
action='store_true', dest='rm_cachedir',
|
||||
help='Delete all filesystem cache files')
|
||||
filesystem.add_option(
|
||||
'--trim-file-name', dest='trim_file_name', default=0, type=int,
|
||||
help='Limit the filename length (extension excluded)')
|
||||
|
||||
thumbnail = optparse.OptionGroup(parser, 'Thumbnail images')
|
||||
thumbnail.add_option(
|
||||
|
|
Loading…
Reference in a new issue