diff options
Diffstat (limited to 'youtube_dl/extractor/generic.py')
| -rw-r--r-- | youtube_dl/extractor/generic.py | 16 | 
1 files changed, 12 insertions, 4 deletions
| diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 9db27f9aa..8e915735e 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -383,13 +383,13 @@ class GenericIE(InfoExtractor):          if not parsed_url.scheme:              default_search = self._downloader.params.get('default_search')              if default_search is None: -                default_search = 'error' +                default_search = 'fixup_error' -            if default_search in ('auto', 'auto_warning'): +            if default_search in ('auto', 'auto_warning', 'fixup_error'):                  if '/' in url:                      self._downloader.report_warning('The url doesn\'t specify the protocol, trying with http')                      return self.url_result('http://' + url) -                else: +                elif default_search != 'fixup_error':                      if default_search == 'auto_warning':                          if re.match(r'^(?:url|URL)$', url):                              raise ExtractorError( @@ -399,7 +399,8 @@ class GenericIE(InfoExtractor):                              self._downloader.report_warning(                                  'Falling back to youtube search for  %s . Set --default-search "auto" to suppress this warning.' % url)                      return self.url_result('ytsearch:' + url) -            elif default_search == 'error': + +            if default_search in ('error', 'fixup_error'):                  raise ExtractorError(                      ('%r is not a valid URL. '                       'Set --default-search "ytsearch" (or run  youtube-dl "ytsearch:%s" ) to search YouTube' @@ -705,6 +706,13 @@ class GenericIE(InfoExtractor):              url = unescapeHTML(mobj.group('url'))              return self.url_result(url, ie='MTVServicesEmbedded') +        # Look for embedded yahoo player +        mobj = re.search( +            r'<iframe[^>]+?src=(["\'])(?P<url>https?://(?:screen|movies)\.yahoo\.com/.+?\.html\?format=embed)\1', +            webpage) +        if mobj is not None: +            return self.url_result(mobj.group('url'), 'Yahoo') +          # Start with something easy: JW Player in SWFObject          found = re.findall(r'flashvars: [\'"](?:.*&)?file=(http[^\'"&]*)', webpage)          if not found: | 
