diff options
| author | Sergey M․ <dstftw@gmail.com> | 2016-09-03 01:17:15 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2016-09-03 01:17:15 +0700 | 
| commit | 6496ccb41398971373a2f7162a0684dd12f0b56e (patch) | |
| tree | 1b7912090c0d6398d982ab4d2838031fb622360a | |
| parent | 3fcce30289a475901728af7a8dbe85304105b8ac (diff) | |
[youtube] Add support for rental videos' previews (Closes #10532)
| -rw-r--r-- | youtube_dl/extractor/youtube.py | 24 | 
1 files changed, 24 insertions, 0 deletions
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index ea98fbf69..4c8edef8d 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -844,6 +844,24 @@ class YoutubeIE(YoutubeBaseInfoExtractor):              # YouTube Red paid video (https://github.com/rg3/youtube-dl/issues/10059)              'url': 'https://www.youtube.com/watch?v=i1Ko8UG-Tdo',              'only_matching': True, +        }, +        { +            # Rental video preview +            'url': 'https://www.youtube.com/watch?v=yYr8q0y5Jfg', +            'info_dict': { +                'id': 'uGpuVWrhIzE', +                'ext': 'mp4', +                'title': 'Piku - Trailer', +                'description': 'md5:c36bd60c3fd6f1954086c083c72092eb', +                'upload_date': '20150811', +                'uploader': 'FlixMatrix', +                'uploader_id': 'FlixMatrixKaravan', +                'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/FlixMatrixKaravan', +                'license': 'Standard YouTube License', +            }, +            'params': { +                'skip_download': True, +            },          }      ] @@ -1254,6 +1272,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor):                      # Convert to the same format returned by compat_parse_qs                      video_info = dict((k, [v]) for k, v in args.items())                      add_dash_mpd(video_info) +                # Rental video is not rented but preview is available (e.g. +                # https://www.youtube.com/watch?v=yYr8q0y5Jfg, +                # https://github.com/rg3/youtube-dl/issues/10532) +                if not video_info and args.get('ypc_vid'): +                    return self.url_result( +                        args['ypc_vid'], YoutubeIE.ie_key(), video_id=args['ypc_vid'])                  if args.get('livestream') == '1' or args.get('live_playback') == 1:                      is_live = True              if not video_info or self._downloader.params.get('youtube_include_dash_manifest', True):  | 
