Introduce --skip-unavailable-fragments
This commit is contained in:
		
							parent
							
								
									45aab4d30b
								
							
						
					
					
						commit
						9603b66012
					
				
					 3 changed files with 18 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -318,6 +318,7 @@ def _real_main(argv=None):
 | 
			
		|||
        'nooverwrites': opts.nooverwrites,
 | 
			
		||||
        'retries': opts.retries,
 | 
			
		||||
        'fragment_retries': opts.fragment_retries,
 | 
			
		||||
        'skip_unavailable_fragments': opts.skip_unavailable_fragments,
 | 
			
		||||
        'buffersize': opts.buffersize,
 | 
			
		||||
        'noresizebuffer': opts.noresizebuffer,
 | 
			
		||||
        'continuedl': opts.continue_dl,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,14 +22,20 @@ class FragmentFD(FileDownloader):
 | 
			
		|||
 | 
			
		||||
    Available options:
 | 
			
		||||
 | 
			
		||||
    fragment_retries:   Number of times to retry a fragment for HTTP error (DASH only)
 | 
			
		||||
    fragment_retries:   Number of times to retry a fragment for HTTP error (DASH
 | 
			
		||||
                        and hlsnative only)
 | 
			
		||||
    skip_unavailable_fragments:
 | 
			
		||||
                        Skip unavailable fragments (DASH and hlsnative only)
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def report_retry_fragment(self, fragment_name, count, retries):
 | 
			
		||||
        self.to_screen(
 | 
			
		||||
            '[download] Got server HTTP error. Retrying fragment %s (attempt %d of %s)...'
 | 
			
		||||
            '[download] Got server HTTP error: %s. Retrying fragment %s (attempt %d of %s)...'
 | 
			
		||||
            % (fragment_name, count, self.format_retries(retries)))
 | 
			
		||||
 | 
			
		||||
    def report_skip_fragment(self, fragment_name):
 | 
			
		||||
        self.to_screen('[download] Skipping fragment %s...' % fragment_name)
 | 
			
		||||
 | 
			
		||||
    def _prepare_and_start_frag_download(self, ctx):
 | 
			
		||||
        self._prepare_frag_download(ctx)
 | 
			
		||||
        self._start_frag_download(ctx)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -423,7 +423,15 @@ def parseOpts(overrideArguments=None):
 | 
			
		|||
    downloader.add_option(
 | 
			
		||||
        '--fragment-retries',
 | 
			
		||||
        dest='fragment_retries', metavar='RETRIES', default=10,
 | 
			
		||||
        help='Number of retries for a fragment (default is %default), or "infinite" (DASH only)')
 | 
			
		||||
        help='Number of retries for a fragment (default is %default), or "infinite" (DASH and hlsnative only)')
 | 
			
		||||
    downloader.add_option(
 | 
			
		||||
        '--skip-unavailable-fragments',
 | 
			
		||||
        action='store_true', dest='skip_unavailable_fragments', default=True,
 | 
			
		||||
        help='Skip unavailable fragments (DASH and hlsnative only)')
 | 
			
		||||
    general.add_option(
 | 
			
		||||
        '--abort-on-unavailable-fragment',
 | 
			
		||||
        action='store_false', dest='skip_unavailable_fragments',
 | 
			
		||||
        help='Abort downloading when some fragment is not available')
 | 
			
		||||
    downloader.add_option(
 | 
			
		||||
        '--buffer-size',
 | 
			
		||||
        dest='buffersize', metavar='SIZE', default='1024',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue