diff options
Diffstat (limited to 'youtube_dl/extractor/generic.py')
| -rw-r--r-- | youtube_dl/extractor/generic.py | 31 | 
1 files changed, 29 insertions, 2 deletions
| diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 22d1b5daa..595ba268f 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -83,10 +83,10 @@ class GenericIE(InfoExtractor):          # Direct link to a video          {              'url': 'http://media.w3.org/2010/05/sintel/trailer.mp4', -            'file': 'trailer.mp4',              'md5': '67d406c2bcb6af27fa886f31aa934bbe',              'info_dict': {                  'id': 'trailer', +                'ext': 'mp4',                  'title': 'trailer',                  'upload_date': '20100513',              } @@ -94,7 +94,6 @@ 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', @@ -102,6 +101,22 @@ class GenericIE(InfoExtractor):                  'title': '2cc213299525360.mov',  # that's what we get              },          }, +        # google redirect +        { +            'url': 'http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CCUQtwIwAA&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DcmQHVoWB5FY&ei=F-sNU-LLCaXk4QT52ICQBQ&usg=AFQjCNEw4hL29zgOohLXvpJ-Bdh2bils1Q&bvm=bv.61965928,d.bGE', +            'info_dict': { +                'id': 'cmQHVoWB5FY', +                'ext': 'mp4', +                'upload_date': '20130224', +                'uploader_id': 'TheVerge', +                'description': 'Chris Ziegler takes a look at the Alcatel OneTouch Fire and the ZTE Open; two of the first Firefox OS handsets to be officially announced.', +                'uploader': 'The Verge', +                'title': 'First Firefox OS phones side-by-side', +            }, +            'params': { +                'skip_download': False, +            } +        }      ]      def report_download_webpage(self, video_id): @@ -412,6 +427,18 @@ class GenericIE(InfoExtractor):              # HTML5 video              mobj = re.search(r'<video[^<]*(?:>.*?<source.*?)? src="([^"]+)"', webpage, flags=re.DOTALL)          if mobj is None: +            mobj = re.search( +                r'(?i)<meta\s+(?=(?:[a-z-]+="[^"]+"\s+)*http-equiv="refresh")' +                r'(?:[a-z-]+="[^"]+"\s+)*?content="[0-9]{,2};url=\'([^\']+)\'"', +                webpage) +            if mobj: +                new_url = mobj.group(1) +                self.report_following_redirect(new_url) +                return { +                    '_type': 'url', +                    'url': new_url, +                } +        if mobj is None:              raise ExtractorError('Unsupported URL: %s' % url)          # It's possible that one of the regexes | 
