New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[rai] changed the extractor for the new site and dismisison of the old one #11790
Conversation
@dstftw can you check? Thansk |
@dstftw Can you check now? Should I squash the commits? Thanks. |
Yes. |
@dstftw |
Still open? Is anything blocking this? @dstftw |
Check code with flake8. |
Done and squashed. There are still some lines longer then 100 chars, but they are test cases and regexps. |
youtube_dl/extractor/rai.py
Outdated
formats = None | ||
duration = None | ||
if 'video' in media: | ||
formats |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's this for?
youtube_dl/extractor/rai.py
Outdated
video_id = self._match_id(url) | ||
formats = None | ||
duration = None | ||
if 'video' in media: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is pointless. If no formats can be extracted extraction should stop immediately.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's an initialization of a variable, I see no harm in it, but I'm open to suggestions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a conditional expression that allows to skip formats extraction. As I've already said this is pointless since valid list of formats must be always present. None
formats
is not allowed.
youtube_dl/extractor/rai.py
Outdated
'formats': formats, | ||
'subtitles': subtitles, | ||
} | ||
canonical_url = self._og_search_url(webpage) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the point of this? canonical_url
is the same as url
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not in the first test case and in every case where a query parameter is added to url.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything apart from query is the same and this unnecessary webpage downloading should be removed.
youtube_dl/extractor/rai.py
Outdated
'formats': formats, | ||
'subtitles': subtitles, | ||
} | ||
canonical_url = self._og_search_url(webpage) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything apart from query is the same and this unnecessary webpage downloading should be removed.
youtube_dl/extractor/rai.py
Outdated
video_id = self._match_id(url) | ||
formats = None | ||
duration = None | ||
if 'video' in media: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a conditional expression that allows to skip formats extraction. As I've already said this is pointless since valid list of formats must be always present. None
formats
is not allowed.
I've hopefully resolved all the issue:
|
* [cbsinteractive] fix extractor * [cbsinteractive] update test cases * [cbsinteractive] extract formats with `CBSIE` * [extractor/common] Fix rtmp and rtsp formats' URLs in _extract_wowza_formats * [vier] Extract more info Extract the `episode_number` and `upload_date`. Also extract the real `description`. * [vier] Relax regexes and extract more metadata (closes #12539) * [jsinterp] Add support for quoted names and indexers (closes #13123, closes #13130) * [ChangeLog] Actualize * release 2017.05.18 * [ChangeLog] Fix typo * [jsinterp] Fix typo and cleanup regexes (closes #13134) * [ChangeLog] Actualize * release 2017.05.18.1 * [mitele] Update app key regex * [hitbox] Add support for smashcast.tv (closes #13154) * [njpwworld] Fix extraction (closes #13162) * [toypics] Fix extraction * [toypics] Improve and modernize * [adobepass] Add support for Brighthouse MSO * [toggle] Relax _VALID_URL (closes #13172) * [youtube] Fix DASH manifest signature decryption (closes #8944) * [youtube] Modernize * [streamcz] Add support for subtitles * [downloader/external] Pass -loglevel to ffmpeg downloader (closes #13183) * Credit @zurfyx for atresplayer improvements (#12548) * Credit @mphe for streamango (#12643) * Credit @fredbourni for noovo (#12792) * [ChangeLog] Actualize * release 2017.05.23 * Credit @timendum for rai (#11790) and mediaset (#12964) * Credit @gritstub for vevo fix (#12879) * [cbsnews] fix extraction for 60 Minutes videos * [vimeo] Fix formats' sorting (closes #13189) * [postprocessor/ffmpeg] Fix metadata filename handling on Python 2 Fixes #13182 * [udemy] Fix extraction for outputs' format entries without URL (closes #13192) * [youku] Fix extraction (closes #13191) * [utils] Recognize more patterns in strip_jsonp() Used in Youku Show pages * [youku:show] Fix extraction * [tudou] Merge into youku extractor (fixes #12214) Also, there are no tudou playlists anymore. All playlist URLs points to youku playlists. * [bbc] Add support for authentication * Revert "[youtube] Don't use the DASH manifest from 'get_video_info' if 'use_cipher_signature' is True (#5118)" This reverts commit 87dc451. * [ChangeLog] Update after the fix for #11381 * [ChangeLog] Actualize * release 2017.05.26 * [cbsnews] Fix extraction (closes #13205) * [youku] Extract more metadata (closes #10433) * [adn] fix formats extraction * [utils] Drop an compatibility wrapper for Python < 2.6 addinfourl.getcode is added since Python 2.6a1. As youtube-dl now requires 2.6+, this is no longer necessary. See python/cpython@9b0d46d * [cbsinteractive] Relax _VALID_URL (closes #13213) * [beam:vod] Add extractor * [beam] Improve and add support for mixer.com (closes #13032) * [dvtv] Parse adaptive formats as well The old code hit an error when it attempted to parse the string "adaptive" for video height. Actually parsing the returned playlists is a good idea because it adds more output formats, including some audio-only-ones. * [dvtv] Improve and fix playlists support (closes #13063) * [medialaan] Fix videos with missing videoUrl A rough trick to get around the two different json styles medialaan seems to be using. Fix for these example videos: https://vtmkzoom.be/video?aid=45724 https://vtmkzoom.be/video?aid=45425 * [medialaan] PEP 8 (closes #12774) * [gaskrank] Fix extraction * [gaskrank] Improve (closes #12493) * [abcnews] Add support for embed URLs * [abcnews] Improve and remove duplicate test (closes #12851) * [xhamster] Extract categories (closes #11728) * [xhamster] Fix author and like/dislike count extraction * [xhamster] Simplify (closes #13216) * [youtube] Parse player_url if format URLs are encrypted or DASH MPDs are requested Fixes #13211 * [ChangeLog] Actualize * release 2017.05.29 * [README.md] Add an example for how to use .netrc on Windows That's a Python bug: http://bugs.python.org/issue28334 Most likely it will be fixed in Python 3.7: python/cpython#123 * [README.md] Mention http_dash_segments protocol * [packtpub] Fix authentication(closes #13240) * [drbonanza] Fix extraction (closes #13231) * [francetv] Relax _VALID_URL * [1tv] Lower preference for http formats (closes #13246) * [youtube] Improve chapters extraction (closes #13247) * [safari] Fix typo (closes #13252) * [YoutubeDL] Don't emit ANSI escape codes on Windows * [godtv] Remove extractor (closes #13175) * [pornhub:playlist] Fix extraction (closes #13281) * [pornhub:uservideos] Add missing raise * [bandcamp:weekly] Add extractor * [bandcamp:weekly] Improve and extract more metadata (closes #12758) * Credit @adamvoss for bandcamp:weekly (#12758) * Credit @mikf for beam:vod (#13032) * Credit @jktjkt for dvtv formats (#13063) * [ChangeLog] Actualize * release 2017.06.05 * [tvplayer] Fix extraction (closes #13291) * [rtlnl] Improve _VALID_URL (closes #13295) * [streamango] Make title optional * [streamango] Skip download for test (closes #13292) * [README.md] Clarify output template references (closes #13316) * [README.md] Improve man page formatting * [YoutubeDL] Sanitize more fields (#13313) * [liveleak] Ensure height is int (closes #13313) * [safari] Improve authentication detection (closes #13319) * [sohu] Fix numeric fields * [flickr] Ensure format id is string * [foxgay] Ensure height is int * [gfycat] Ensure filesize is int * [golem] Ensure format id is string * [jove] Ensure comment count is int * [sexu] Ensure height is int * [turbo] Ensure format id is string * [extractor/common] Return unicode string from _match_id * [extractor/generic] Ensure format id is unicode string * [msn] Fix formats extraction * [newgrounds] Improve formats and uploader extraction (closes #13346) * [newgrounds:playlist] Add extractor (closes #10611) * [utils] Improve unified_timestamp * [newgrounds] Extract more metadata (closes #13232) * [rutv] Add support for testplayer.vgtrk.com (closes #13347) * [xfileshare] Modernize and pass referrer * [xfileshare] Add support for rapidvideo (closes #13348) * [compat] Introduce compat_HTMLParseError * [utils] Handle HTMLParseError in extract_attributes (closes #13349) * [xfileshare] PEP 8 * [ChangeLog] Actualize * release 2017.06.12 * [compat] Add compat_HTMLParseError to __all__ * [corus] Add support for history.ca (closes #13359) * [corus] Add support for showcase.ca
Before submitting a pull request make sure you have:
In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:
What is the purpose of your pull request?
Description of your pull request and other information
Rai changed its streaming website to raiplay.it and axed the old one, I heavy changed the extractor to reflect the new changes.
This is a follow up of #11134 , I've dropped the old one and fixed the conflicts.
All the tests pass in Italy, maybe some media can be geo-restricted.