mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-23 19:12:03 +00:00
Add --force-download-archive by by h-h-h-h
Authored-by: h-h-h-h
This commit is contained in:
parent
732044afb2
commit
2d30509fc8
5 changed files with 23 additions and 4 deletions
|
@ -353,6 +353,10 @@ ## Verbosity / Simulation Options:
|
|||
playlist information in a single line.
|
||||
--print-json Be quiet and print the video information as
|
||||
JSON (video is still being downloaded).
|
||||
--force-write-archive Force download archive entries to be written
|
||||
as far as no errors occur, even if -s or
|
||||
another simulation switch is used.
|
||||
(Same as --force-download-archive)
|
||||
--newline Output progress bar as new lines
|
||||
--no-progress Do not print progress bar
|
||||
--console-title Display progress in console titlebar
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
"forcethumbnail": false,
|
||||
"forcetitle": false,
|
||||
"forceurl": false,
|
||||
"force_write_download_archive": false,
|
||||
"format": "best",
|
||||
"ignoreerrors": false,
|
||||
"listformats": null,
|
||||
|
|
|
@ -166,6 +166,8 @@ class YoutubeDL(object):
|
|||
forcejson: Force printing info_dict as JSON.
|
||||
dump_single_json: Force printing the info_dict of the whole playlist
|
||||
(or video) as a single JSON line.
|
||||
force_write_download_archive: Force writing download archive regardless of
|
||||
'skip_download' or 'simulate'.
|
||||
simulate: Do not download the video files.
|
||||
format: Video format code. see "FORMAT SELECTION" for more details.
|
||||
format_sort: How to sort the video formats. see "Sorting Formats" for more details.
|
||||
|
@ -1856,8 +1858,11 @@ def process_info(self, info_dict):
|
|||
# Forced printings
|
||||
self.__forced_printings(info_dict, filename, incomplete=False)
|
||||
|
||||
# Do nothing else if in simulate mode
|
||||
if self.params.get('simulate', False):
|
||||
if self.params.get('force_write_download_archive', False):
|
||||
self.record_download_archive(info_dict)
|
||||
|
||||
# Do nothing else if in simulate mode
|
||||
return
|
||||
|
||||
if filename is None:
|
||||
|
@ -2188,7 +2193,10 @@ def compatible_formats(formats):
|
|||
except (PostProcessingError) as err:
|
||||
self.report_error('postprocessing: %s' % str(err))
|
||||
return
|
||||
self.record_download_archive(info_dict)
|
||||
must_record_download_archive = True
|
||||
|
||||
if must_record_download_archive or self.params.get('force_write_download_archive', False):
|
||||
self.record_download_archive(info_dict)
|
||||
|
||||
def download(self, url_list):
|
||||
"""Download a given list of URLs."""
|
||||
|
|
|
@ -349,6 +349,7 @@ def parse_retries(retries):
|
|||
'forceformat': opts.getformat,
|
||||
'forcejson': opts.dumpjson or opts.print_json,
|
||||
'dump_single_json': opts.dump_single_json,
|
||||
'force_write_download_archive': opts.force_write_download_archive,
|
||||
'simulate': opts.simulate or any_getting,
|
||||
'skip_download': opts.skip_download,
|
||||
'format': opts.format,
|
||||
|
|
|
@ -682,8 +682,13 @@ def _comma_separated_values_options_callback(option, opt_str, value, parser):
|
|||
verbosity.add_option(
|
||||
'--print-json',
|
||||
action='store_true', dest='print_json', default=False,
|
||||
help='Be quiet and print the video information as JSON (video is still being downloaded).',
|
||||
)
|
||||
help='Be quiet and print the video information as JSON (video is still being downloaded).')
|
||||
verbosity.add_option(
|
||||
'--force-write-download-archive', '--force-write-archive', '--force-download-archive',
|
||||
action='store_true', dest='force_write_download_archive', default=False,
|
||||
help=(
|
||||
'Force download archive entries to be written as far as no errors occur,'
|
||||
'even if -s or another simulation switch is used.'))
|
||||
verbosity.add_option(
|
||||
'--newline',
|
||||
action='store_true', dest='progress_with_newline', default=False,
|
||||
|
|
Loading…
Reference in a new issue