diff options
| -rw-r--r-- | youtube_dl/__init__.py | 1 | ||||
| -rw-r--r-- | youtube_dl/downloader/fragment.py | 5 | ||||
| -rw-r--r-- | youtube_dl/options.py | 4 | 
3 files changed, 9 insertions, 1 deletions
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index f15606568..c4589411e 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -343,6 +343,7 @@ def _real_main(argv=None):          'retries': opts.retries,          'fragment_retries': opts.fragment_retries,          'skip_unavailable_fragments': opts.skip_unavailable_fragments, +        'keep_fragments': opts.keep_fragments,          'buffersize': opts.buffersize,          'noresizebuffer': opts.noresizebuffer,          'continuedl': opts.continue_dl, diff --git a/youtube_dl/downloader/fragment.py b/youtube_dl/downloader/fragment.py index 62de0a75b..bcff94cbe 100644 --- a/youtube_dl/downloader/fragment.py +++ b/youtube_dl/downloader/fragment.py @@ -29,6 +29,8 @@ class FragmentFD(FileDownloader):                          and hlsnative only)      skip_unavailable_fragments:                          Skip unavailable fragments (DASH and hlsnative only) +    keep_fragments:     Keep downloaded fragments on disk after downloading is +                        finished      """      def report_retry_fragment(self, err, frag_index, count, retries): @@ -81,7 +83,8 @@ class FragmentFD(FileDownloader):          finally:              if not (ctx.get('live') or ctx['tmpfilename'] == '-'):                  self._write_ytdl_file(ctx) -            os.remove(ctx['fragment_filename_sanitized']) +            if not self.params.get('keep_fragments', False): +                os.remove(ctx['fragment_filename_sanitized'])              del ctx['fragment_filename_sanitized']      def _prepare_frag_download(self, ctx): diff --git a/youtube_dl/options.py b/youtube_dl/options.py index 2d2f5e47b..52309fb84 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -469,6 +469,10 @@ def parseOpts(overrideArguments=None):          action='store_false', dest='skip_unavailable_fragments',          help='Abort downloading when some fragment is not available')      downloader.add_option( +        '--keep-fragments', +        action='store_true', dest='keep_fragments', default=False, +        help='Keep downloaded fragments on disk after downloading is finished; fragments are erased by default') +    downloader.add_option(          '--buffer-size',          dest='buffersize', metavar='SIZE', default='1024',          help='Size of download buffer (e.g. 1024 or 16K) (default is %default)')  | 
