mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 08:47:06 -05:00 
			
		
		
		
	[generic] Warn before fallback to automatic search
This commit is contained in:
		@@ -256,9 +256,10 @@ def parseOpts(overrideArguments=None):
 | 
			
		||||
    general.add_option(
 | 
			
		||||
        '--bidi-workaround', dest='bidi_workaround', action='store_true',
 | 
			
		||||
        help=u'Work around terminals that lack bidirectional text support. Requires bidiv or fribidi executable in PATH')
 | 
			
		||||
    general.add_option('--default-search',
 | 
			
		||||
            dest='default_search', metavar='PREFIX',
 | 
			
		||||
            help='Use this prefix for unqualified URLs. For example "gvsearch2:" downloads two videos from google videos for  youtube-dl "large apple". By default (with value "auto") youtube-dl guesses.')
 | 
			
		||||
    general.add_option(
 | 
			
		||||
        '--default-search',
 | 
			
		||||
        dest='default_search', metavar='PREFIX',
 | 
			
		||||
        help='Use this prefix for unqualified URLs. For example "gvsearch2:" downloads two videos from google videos for  youtube-dl "large apple". By default (with value "auto") youtube-dl guesses.')
 | 
			
		||||
    general.add_option(
 | 
			
		||||
        '--ignore-config',
 | 
			
		||||
        action='store_true',
 | 
			
		||||
@@ -676,7 +677,7 @@ def _real_main(argv=None):
 | 
			
		||||
        date = DateRange.day(opts.date)
 | 
			
		||||
    else:
 | 
			
		||||
        date = DateRange(opts.dateafter, opts.datebefore)
 | 
			
		||||
    if opts.default_search not in ('auto', None) and ':' not in opts.default_search:
 | 
			
		||||
    if opts.default_search not in ('auto', 'auto_warning', None) and ':' not in opts.default_search:
 | 
			
		||||
        parser.error(u'--default-search invalid; did you forget a colon (:) at the end?')
 | 
			
		||||
 | 
			
		||||
    # Do not download videos when there are audio-only formats
 | 
			
		||||
 
 | 
			
		||||
@@ -316,13 +316,16 @@ class GenericIE(InfoExtractor):
 | 
			
		||||
        if not parsed_url.scheme:
 | 
			
		||||
            default_search = self._downloader.params.get('default_search')
 | 
			
		||||
            if default_search is None:
 | 
			
		||||
                default_search = 'auto'
 | 
			
		||||
                default_search = 'auto_warning'
 | 
			
		||||
 | 
			
		||||
            if default_search == 'auto':
 | 
			
		||||
            if default_search in ('auto', 'auto_warning'):
 | 
			
		||||
                if '/' in url:
 | 
			
		||||
                    self._downloader.report_warning('The url doesn\'t specify the protocol, trying with http')
 | 
			
		||||
                    return self.url_result('http://' + url)
 | 
			
		||||
                else:
 | 
			
		||||
                    if default_search == 'auto_warning':
 | 
			
		||||
                        self._downloader.report_warning(
 | 
			
		||||
                            'Falling back to youtube search for  %s . Set --default-search to "auto" to suppress this warning.' % url)
 | 
			
		||||
                    return self.url_result('ytsearch:' + url)
 | 
			
		||||
            else:
 | 
			
		||||
                assert ':' in default_search
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user