diff options
Diffstat (limited to 'youtube_dl/extractor/generic.py')
| -rw-r--r-- | youtube_dl/extractor/generic.py | 24 | 
1 files changed, 21 insertions, 3 deletions
| diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 839530982..e1933837d 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -92,11 +92,12 @@ class GenericIE(InfoExtractor):          # ooyala video          {              'url': 'http://www.rollingstone.com/music/videos/norwegian-dj-cashmere-cat-goes-spartan-on-with-me-premiere-20131219', +            'file': 'BwY2RxaTrTkslxOfcan0UCf0YqyvWysJ.mp4',              'md5': '5644c6ca5d5782c1d0d350dad9bd840c',              'info_dict': {                  'id': 'BwY2RxaTrTkslxOfcan0UCf0YqyvWysJ',                  'ext': 'mp4', -                'title': '2cc213299525360.mov', #that's what we get +                'title': '2cc213299525360.mov',  # that's what we get              },          },      ] @@ -161,8 +162,19 @@ class GenericIE(InfoExtractor):      def _real_extract(self, url):          parsed_url = compat_urlparse.urlparse(url)          if not parsed_url.scheme: -            self._downloader.report_warning('The url doesn\'t specify the protocol, trying with http') -            return self.url_result('http://' + url) +            default_search = self._downloader.params.get('default_search') +            if default_search is None: +                default_search = 'auto' + +            if default_search == 'auto': +                if '/' in url: +                    self._downloader.report_warning('The url doesn\'t specify the protocol, trying with http') +                    return self.url_result('http://' + url) +                else: +                    return self.url_result('ytsearch:' + url) +            else: +                assert ':' in default_search +                return self.url_result(default_search + url)          video_id = os.path.splitext(url.split('/')[-1])[0]          self.to_screen('%s: Requesting header' % video_id) @@ -318,6 +330,12 @@ class GenericIE(InfoExtractor):          if mobj is not None:              return self.url_result(mobj.group('url'), 'Novamov') +        # Look for embedded Facebook player +        mobj = re.search( +            r'<iframe[^>]+?src=(["\'])(?P<url>https://www.facebook.com/video/embed.+?)\1', webpage) +        if mobj is not None: +            return self.url_result(mobj.group('url'), 'Facebook') +          # Start with something easy: JW Player in SWFObject          mobj = re.search(r'flashvars: [\'"](?:.*&)?file=(http[^\'"&]*)', webpage)          if mobj is None: | 
