mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	Fix typos (#27084)
* spelling: authorization Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: brightcove Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: creation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: exceeded Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: exception Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: extension Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: extracting Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: extraction Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: frontline Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: improve Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: length Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: listsubtitles Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: multimedia Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: obfuscated Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: partitioning Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: playlist Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: playlists Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: restriction Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: services Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: split Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: srmediathek Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: support Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: thumbnail Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: verification Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: whitespaces Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										34
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -367,7 +367,7 @@ Extractors | |||||||
|     + Add support for more domains |     + Add support for more domains | ||||||
| * [svt] Fix series extraction (#22297) | * [svt] Fix series extraction (#22297) | ||||||
| * [svt] Fix article extraction (#22897, #22919) | * [svt] Fix article extraction (#22897, #22919) | ||||||
| * [soundcloud] Imporve private playlist/set tracks extraction (#3707) | * [soundcloud] Improve private playlist/set tracks extraction (#3707) | ||||||
|  |  | ||||||
|  |  | ||||||
| version 2020.01.24 | version 2020.01.24 | ||||||
| @@ -493,7 +493,7 @@ Extractors | |||||||
| * [abcotvs] Relax URL regular expression and improve metadata extraction | * [abcotvs] Relax URL regular expression and improve metadata extraction | ||||||
|   (#18014) |   (#18014) | ||||||
| * [channel9] Reduce response size | * [channel9] Reduce response size | ||||||
| * [adobetv] Improve extaction | * [adobetv] Improve extraction | ||||||
|     * Use OnDemandPagedList for list extractors |     * Use OnDemandPagedList for list extractors | ||||||
|     * Reduce show extraction requests |     * Reduce show extraction requests | ||||||
|     * Extract original video format and subtitles |     * Extract original video format and subtitles | ||||||
| @@ -518,7 +518,7 @@ Extractors | |||||||
| * [dailymotion] Improve extraction | * [dailymotion] Improve extraction | ||||||
|     * Extract http formats included in m3u8 manifest |     * Extract http formats included in m3u8 manifest | ||||||
|     * Fix user extraction (#3553, #21415) |     * Fix user extraction (#3553, #21415) | ||||||
|     + Add suport for User Authentication (#11491) |     + Add support for User Authentication (#11491) | ||||||
|     * Fix password protected videos extraction (#23176) |     * Fix password protected videos extraction (#23176) | ||||||
|     * Respect age limit option and family filter cookie value (#18437) |     * Respect age limit option and family filter cookie value (#18437) | ||||||
|     * Handle video url playlist query param |     * Handle video url playlist query param | ||||||
| @@ -603,7 +603,7 @@ Extractors | |||||||
| - [go90] Remove extractor | - [go90] Remove extractor | ||||||
| * [kakao] Remove raw request | * [kakao] Remove raw request | ||||||
| + [kakao] Extract format total bitrate | + [kakao] Extract format total bitrate | ||||||
| * [daum] Fix VOD and Clip extracton (#15015) | * [daum] Fix VOD and Clip extraction (#15015) | ||||||
| * [kakao] Improve extraction | * [kakao] Improve extraction | ||||||
|     + Add support for embed URLs |     + Add support for embed URLs | ||||||
|     + Add support for Kakao Legacy vid based embed URLs |     + Add support for Kakao Legacy vid based embed URLs | ||||||
| @@ -647,7 +647,7 @@ Extractors | |||||||
|     * Improve format extraction (#22123) |     * Improve format extraction (#22123) | ||||||
|     + Extract uploader_id and uploader_url (#21916) |     + Extract uploader_id and uploader_url (#21916) | ||||||
|     + Extract all known thumbnails (#19071, #20659) |     + Extract all known thumbnails (#19071, #20659) | ||||||
|     * Fix extration for private playlists (#20976) |     * Fix extraction for private playlists (#20976) | ||||||
|     + Add support for playlist embeds (#20976) |     + Add support for playlist embeds (#20976) | ||||||
|     * Skip preview formats (#22806) |     * Skip preview formats (#22806) | ||||||
| * [dplay] Improve extraction | * [dplay] Improve extraction | ||||||
| @@ -1122,7 +1122,7 @@ Extractors | |||||||
| * [hbo] Fix extraction and extract subtitles (#14629, #13709) | * [hbo] Fix extraction and extract subtitles (#14629, #13709) | ||||||
| * [youtube] Extract srv[1-3] subtitle formats (#20566) | * [youtube] Extract srv[1-3] subtitle formats (#20566) | ||||||
| * [adultswim] Fix extraction (#18025) | * [adultswim] Fix extraction (#18025) | ||||||
| * [teamcoco] Fix extraction and add suport for subdomains (#17099, #20339) | * [teamcoco] Fix extraction and add support for subdomains (#17099, #20339) | ||||||
| * [adn] Fix subtitle compatibility with ffmpeg | * [adn] Fix subtitle compatibility with ffmpeg | ||||||
| * [adn] Fix extraction and add support for positioning styles (#20549) | * [adn] Fix extraction and add support for positioning styles (#20549) | ||||||
| * [vk] Use unique video id (#17848) | * [vk] Use unique video id (#17848) | ||||||
| @@ -1534,7 +1534,7 @@ version 2018.11.18 | |||||||
|  |  | ||||||
| Extractors | Extractors | ||||||
| + [wwe] Extract subtitles | + [wwe] Extract subtitles | ||||||
| + [wwe] Add support for playlistst (#14781) | + [wwe] Add support for playlists (#14781) | ||||||
| + [wwe] Add support for wwe.com (#14781, #17450) | + [wwe] Add support for wwe.com (#14781, #17450) | ||||||
| * [vk] Detect geo restriction (#17767) | * [vk] Detect geo restriction (#17767) | ||||||
| * [openload] Use original host during extraction (#18211) | * [openload] Use original host during extraction (#18211) | ||||||
| @@ -2567,7 +2567,7 @@ Extractors | |||||||
| * [youku] Update ccode (#14872) | * [youku] Update ccode (#14872) | ||||||
| * [mnet] Fix format extraction (#14883) | * [mnet] Fix format extraction (#14883) | ||||||
| + [xiami] Add Referer header to API request | + [xiami] Add Referer header to API request | ||||||
| * [mtv] Correct scc extention in extracted subtitles (#13730) | * [mtv] Correct scc extension in extracted subtitles (#13730) | ||||||
| * [vvvvid] Fix extraction for kenc videos (#13406) | * [vvvvid] Fix extraction for kenc videos (#13406) | ||||||
| + [br] Add support for BR Mediathek videos (#14560, #14788) | + [br] Add support for BR Mediathek videos (#14560, #14788) | ||||||
| + [daisuki] Add support for motto.daisuki.com (#14681) | + [daisuki] Add support for motto.daisuki.com (#14681) | ||||||
| @@ -2588,7 +2588,7 @@ Extractors | |||||||
| * [nexx] Extract more formats | * [nexx] Extract more formats | ||||||
| + [openload] Add support for openload.link (#14763) | + [openload] Add support for openload.link (#14763) | ||||||
| * [empflix] Relax URL regular expression | * [empflix] Relax URL regular expression | ||||||
| * [empflix] Fix extractrion | * [empflix] Fix extraction | ||||||
| * [tnaflix] Don't modify download URLs (#14811) | * [tnaflix] Don't modify download URLs (#14811) | ||||||
| - [gamersyde] Remove extractor | - [gamersyde] Remove extractor | ||||||
| * [francetv:generationwhat] Fix extraction | * [francetv:generationwhat] Fix extraction | ||||||
| @@ -2783,7 +2783,7 @@ Extractors | |||||||
| * [yahoo] Bypass geo restriction for brightcove (#14210) | * [yahoo] Bypass geo restriction for brightcove (#14210) | ||||||
| * [yahoo] Use extracted brightcove account id (#14210) | * [yahoo] Use extracted brightcove account id (#14210) | ||||||
| * [rtve:alacarta] Fix extraction (#14290) | * [rtve:alacarta] Fix extraction (#14290) | ||||||
| + [yahoo] Add support for custom brigthcove embeds (#14210) | + [yahoo] Add support for custom brightcove embeds (#14210) | ||||||
| + [generic] Add support for Video.js embeds | + [generic] Add support for Video.js embeds | ||||||
| + [gfycat] Add support for /gifs/detail URLs (#14322) | + [gfycat] Add support for /gifs/detail URLs (#14322) | ||||||
| * [generic] Fix infinite recursion for twitter:player URLs (#14339) | * [generic] Fix infinite recursion for twitter:player URLs (#14339) | ||||||
| @@ -3028,7 +3028,7 @@ Extractors | |||||||
| * [amcnetworks] Make rating optional (#12453) | * [amcnetworks] Make rating optional (#12453) | ||||||
| * [cloudy] Fix extraction (#13737) | * [cloudy] Fix extraction (#13737) | ||||||
| + [nickru] Add support for nickelodeon.ru | + [nickru] Add support for nickelodeon.ru | ||||||
| * [mtv] Improve thumbnal extraction | * [mtv] Improve thumbnail extraction | ||||||
| * [nick] Automate geo-restriction bypass (#13711) | * [nick] Automate geo-restriction bypass (#13711) | ||||||
| * [niconico] Improve error reporting (#13696) | * [niconico] Improve error reporting (#13696) | ||||||
|  |  | ||||||
| @@ -3392,7 +3392,7 @@ Extractors | |||||||
| + [cda] Support birthday verification (#12789) | + [cda] Support birthday verification (#12789) | ||||||
| * [leeco] Fix extraction (#12974) | * [leeco] Fix extraction (#12974) | ||||||
| + [pbs] Extract chapters | + [pbs] Extract chapters | ||||||
| * [amp] Imporove thumbnail and subtitles extraction | * [amp] Improve thumbnail and subtitles extraction | ||||||
| * [foxsports] Fix extraction (#12945) | * [foxsports] Fix extraction (#12945) | ||||||
| - [coub] Remove comment count extraction (#12941) | - [coub] Remove comment count extraction (#12941) | ||||||
|  |  | ||||||
| @@ -3562,7 +3562,7 @@ Extractors | |||||||
| + [rbmaradio] Add support for redbullradio.com URLs (#12687) | + [rbmaradio] Add support for redbullradio.com URLs (#12687) | ||||||
| + [npo:live] Add support for default URL (#12555) | + [npo:live] Add support for default URL (#12555) | ||||||
| * [mixcloud:playlist] Fix title, description and view count extraction (#12582) | * [mixcloud:playlist] Fix title, description and view count extraction (#12582) | ||||||
| + [thesun] Add suport for thesun.co.uk (#11298, #12674) | + [thesun] Add support for thesun.co.uk (#11298, #12674) | ||||||
| + [ceskateleveize:porady] Add support for porady (#7411, #12645) | + [ceskateleveize:porady] Add support for porady (#7411, #12645) | ||||||
| * [ceskateleveize] Improve extraction and remove URL replacement hacks | * [ceskateleveize] Improve extraction and remove URL replacement hacks | ||||||
| + [kaltura] Add support for iframe embeds (#12679) | + [kaltura] Add support for iframe embeds (#12679) | ||||||
| @@ -3601,7 +3601,7 @@ Extractors | |||||||
| * [funimation] Fix extraction (#10696, #11773) | * [funimation] Fix extraction (#10696, #11773) | ||||||
| + [xfileshare] Add support for vidabc.com (#12589) | + [xfileshare] Add support for vidabc.com (#12589) | ||||||
| + [xfileshare] Improve extraction and extract hls formats | + [xfileshare] Improve extraction and extract hls formats | ||||||
| + [crunchyroll] Pass geo verifcation proxy | + [crunchyroll] Pass geo verification proxy | ||||||
| + [cwtv] Extract ISM formats | + [cwtv] Extract ISM formats | ||||||
| + [tvplay] Bypass geo restriction | + [tvplay] Bypass geo restriction | ||||||
| + [vrv] Add support for vrv.co | + [vrv] Add support for vrv.co | ||||||
| @@ -3665,7 +3665,7 @@ Extractors | |||||||
| + [bostonglobe] Add extractor for bostonglobe.com (#12099) | + [bostonglobe] Add extractor for bostonglobe.com (#12099) | ||||||
| + [toongoggles] Add support for toongoggles.com (#12171) | + [toongoggles] Add support for toongoggles.com (#12171) | ||||||
| + [medialaan] Add support for Medialaan sites (#9974, #11912) | + [medialaan] Add support for Medialaan sites (#9974, #11912) | ||||||
| + [discoverynetworks] Add support for more domains and bypass geo restiction | + [discoverynetworks] Add support for more domains and bypass geo restriction | ||||||
| * [openload] Fix extraction (#10408) | * [openload] Fix extraction (#10408) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -5255,7 +5255,7 @@ version 2016.07.09.1 | |||||||
| Fixed/improved extractors | Fixed/improved extractors | ||||||
| - youtube | - youtube | ||||||
| - ard | - ard | ||||||
| - srmediatek (#9373) | - srmediathek (#9373) | ||||||
|  |  | ||||||
|  |  | ||||||
| version 2016.07.09 | version 2016.07.09 | ||||||
| @@ -5319,7 +5319,7 @@ Fixed/improved extractors | |||||||
| - kaltura (#5557) | - kaltura (#5557) | ||||||
| - la7 | - la7 | ||||||
| - Changed features | - Changed features | ||||||
| - Rename --cn-verfication-proxy to --geo-verification-proxy | - Rename --cn-verification-proxy to --geo-verification-proxy | ||||||
| Miscellaneous | Miscellaneous | ||||||
| - Add script for displaying downloads statistics | - Add script for displaying downloads statistics | ||||||
|  |  | ||||||
|   | |||||||
| @@ -37,7 +37,7 @@ | |||||||
|     "writeinfojson": true,  |     "writeinfojson": true,  | ||||||
|     "writesubtitles": false, |     "writesubtitles": false, | ||||||
|     "allsubtitles": false, |     "allsubtitles": false, | ||||||
|     "listssubtitles": false, |     "listsubtitles": false, | ||||||
|     "socket_timeout": 20, |     "socket_timeout": 20, | ||||||
|     "fixup": "never" |     "fixup": "never" | ||||||
| } | } | ||||||
|   | |||||||
| @@ -2345,7 +2345,7 @@ except ImportError:  # Python <3.4 | |||||||
|  |  | ||||||
|         # HTMLParseError has been deprecated in Python 3.3 and removed in |         # HTMLParseError has been deprecated in Python 3.3 and removed in | ||||||
|         # Python 3.5. Introducing dummy exception for Python >3.5 for compatible |         # Python 3.5. Introducing dummy exception for Python >3.5 for compatible | ||||||
|         # and uniform cross-version exceptiong handling |         # and uniform cross-version exception handling | ||||||
|         class compat_HTMLParseError(Exception): |         class compat_HTMLParseError(Exception): | ||||||
|             pass |             pass | ||||||
|  |  | ||||||
|   | |||||||
| @@ -147,7 +147,7 @@ class BrightcoveLegacyIE(InfoExtractor): | |||||||
|     ] |     ] | ||||||
|  |  | ||||||
|     @classmethod |     @classmethod | ||||||
|     def _build_brighcove_url(cls, object_str): |     def _build_brightcove_url(cls, object_str): | ||||||
|         """ |         """ | ||||||
|         Build a Brightcove url from a xml string containing |         Build a Brightcove url from a xml string containing | ||||||
|         <object class="BrightcoveExperience">{params}</object> |         <object class="BrightcoveExperience">{params}</object> | ||||||
| @@ -217,7 +217,7 @@ class BrightcoveLegacyIE(InfoExtractor): | |||||||
|         return cls._make_brightcove_url(params) |         return cls._make_brightcove_url(params) | ||||||
|  |  | ||||||
|     @classmethod |     @classmethod | ||||||
|     def _build_brighcove_url_from_js(cls, object_js): |     def _build_brightcove_url_from_js(cls, object_js): | ||||||
|         # The layout of JS is as follows: |         # The layout of JS is as follows: | ||||||
|         # customBC.createVideo = function (width, height, playerID, playerKey, videoPlayer, VideoRandomID) { |         # customBC.createVideo = function (width, height, playerID, playerKey, videoPlayer, VideoRandomID) { | ||||||
|         #   // build Brightcove <object /> XML |         #   // build Brightcove <object /> XML | ||||||
| @@ -272,12 +272,12 @@ class BrightcoveLegacyIE(InfoExtractor): | |||||||
|             ).+?>\s*</object>''', |             ).+?>\s*</object>''', | ||||||
|             webpage) |             webpage) | ||||||
|         if matches: |         if matches: | ||||||
|             return list(filter(None, [cls._build_brighcove_url(m) for m in matches])) |             return list(filter(None, [cls._build_brightcove_url(m) for m in matches])) | ||||||
|  |  | ||||||
|         matches = re.findall(r'(customBC\.createVideo\(.+?\);)', webpage) |         matches = re.findall(r'(customBC\.createVideo\(.+?\);)', webpage) | ||||||
|         if matches: |         if matches: | ||||||
|             return list(filter(None, [ |             return list(filter(None, [ | ||||||
|                 cls._build_brighcove_url_from_js(custom_bc) |                 cls._build_brightcove_url_from_js(custom_bc) | ||||||
|                 for custom_bc in matches])) |                 for custom_bc in matches])) | ||||||
|         return [src for _, src in re.findall( |         return [src for _, src in re.findall( | ||||||
|             r'<iframe[^>]+src=([\'"])((?:https?:)?//link\.brightcove\.com/services/player/(?!\1).+)\1', webpage)] |             r'<iframe[^>]+src=([\'"])((?:https?:)?//link\.brightcove\.com/services/player/(?!\1).+)\1', webpage)] | ||||||
|   | |||||||
| @@ -1664,7 +1664,7 @@ class InfoExtractor(object): | |||||||
|         # just the media without qualities renditions. |         # just the media without qualities renditions. | ||||||
|         # Fortunately, master playlist can be easily distinguished from media |         # Fortunately, master playlist can be easily distinguished from media | ||||||
|         # playlist based on particular tags availability. As of [1, 4.3.3, 4.3.4] |         # playlist based on particular tags availability. As of [1, 4.3.3, 4.3.4] | ||||||
|         # master playlist tags MUST NOT appear in a media playist and vice versa. |         # master playlist tags MUST NOT appear in a media playlist and vice versa. | ||||||
|         # As of [1, 4.3.3.1] #EXT-X-TARGETDURATION tag is REQUIRED for every |         # As of [1, 4.3.3.1] #EXT-X-TARGETDURATION tag is REQUIRED for every | ||||||
|         # media playlist and MUST NOT appear in master playlist thus we can |         # media playlist and MUST NOT appear in master playlist thus we can | ||||||
|         # clearly detect media playlist with this criterion. |         # clearly detect media playlist with this criterion. | ||||||
|   | |||||||
| @@ -60,7 +60,7 @@ class EuropaIE(InfoExtractor): | |||||||
|  |  | ||||||
|         title = get_item('title', preferred_langs) or video_id |         title = get_item('title', preferred_langs) or video_id | ||||||
|         description = get_item('description', preferred_langs) |         description = get_item('description', preferred_langs) | ||||||
|         thumbnmail = xpath_text(playlist, './info/thumburl', 'thumbnail') |         thumbnail = xpath_text(playlist, './info/thumburl', 'thumbnail') | ||||||
|         upload_date = unified_strdate(xpath_text(playlist, './info/date', 'upload date')) |         upload_date = unified_strdate(xpath_text(playlist, './info/date', 'upload date')) | ||||||
|         duration = parse_duration(xpath_text(playlist, './info/duration', 'duration')) |         duration = parse_duration(xpath_text(playlist, './info/duration', 'duration')) | ||||||
|         view_count = int_or_none(xpath_text(playlist, './info/views', 'views')) |         view_count = int_or_none(xpath_text(playlist, './info/views', 'views')) | ||||||
| @@ -85,7 +85,7 @@ class EuropaIE(InfoExtractor): | |||||||
|             'id': video_id, |             'id': video_id, | ||||||
|             'title': title, |             'title': title, | ||||||
|             'description': description, |             'description': description, | ||||||
|             'thumbnail': thumbnmail, |             'thumbnail': thumbnail, | ||||||
|             'upload_date': upload_date, |             'upload_date': upload_date, | ||||||
|             'duration': duration, |             'duration': duration, | ||||||
|             'view_count': view_count, |             'view_count': view_count, | ||||||
|   | |||||||
| @@ -842,7 +842,7 @@ class GenericIE(InfoExtractor): | |||||||
|                 'skip_download': True, |                 'skip_download': True, | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         # MTVSercices embed |         # MTVServices embed | ||||||
|         { |         { | ||||||
|             'url': 'http://www.vulture.com/2016/06/new-key-peele-sketches-released.html', |             'url': 'http://www.vulture.com/2016/06/new-key-peele-sketches-released.html', | ||||||
|             'md5': 'ca1aef97695ef2c1d6973256a57e5252', |             'md5': 'ca1aef97695ef2c1d6973256a57e5252', | ||||||
|   | |||||||
| @@ -64,7 +64,7 @@ class KUSIIE(InfoExtractor): | |||||||
|         duration = float_or_none(xpath_text(doc, 'DURATION'), scale=1000) |         duration = float_or_none(xpath_text(doc, 'DURATION'), scale=1000) | ||||||
|         description = xpath_text(doc, 'ABSTRACT') |         description = xpath_text(doc, 'ABSTRACT') | ||||||
|         thumbnail = xpath_text(doc, './THUMBNAILIMAGE/FILENAME') |         thumbnail = xpath_text(doc, './THUMBNAILIMAGE/FILENAME') | ||||||
|         createtion_time = timeconvert(xpath_text(doc, 'rfc822creationdate')) |         creation_time = timeconvert(xpath_text(doc, 'rfc822creationdate')) | ||||||
|  |  | ||||||
|         quality_options = doc.find('{http://search.yahoo.com/mrss/}group').findall('{http://search.yahoo.com/mrss/}content') |         quality_options = doc.find('{http://search.yahoo.com/mrss/}group').findall('{http://search.yahoo.com/mrss/}content') | ||||||
|         formats = [] |         formats = [] | ||||||
| @@ -84,5 +84,5 @@ class KUSIIE(InfoExtractor): | |||||||
|             'duration': duration, |             'duration': duration, | ||||||
|             'formats': formats, |             'formats': formats, | ||||||
|             'thumbnail': thumbnail, |             'thumbnail': thumbnail, | ||||||
|             'timestamp': createtion_time, |             'timestamp': creation_time, | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -33,7 +33,7 @@ class NprIE(InfoExtractor): | |||||||
|             }, |             }, | ||||||
|         }], |         }], | ||||||
|     }, { |     }, { | ||||||
|         # mutlimedia, not media title |         # multimedia, not media title | ||||||
|         'url': 'https://www.npr.org/2017/06/19/533198237/tigers-jaw-tiny-desk-concert', |         'url': 'https://www.npr.org/2017/06/19/533198237/tigers-jaw-tiny-desk-concert', | ||||||
|         'info_dict': { |         'info_dict': { | ||||||
|             'id': '533198237', |             'id': '533198237', | ||||||
|   | |||||||
| @@ -477,7 +477,7 @@ class PBSIE(InfoExtractor): | |||||||
|             if media_id: |             if media_id: | ||||||
|                 return media_id, presumptive_id, upload_date, description |                 return media_id, presumptive_id, upload_date, description | ||||||
|  |  | ||||||
|             # Fronline video embedded via flp |             # Frontline video embedded via flp | ||||||
|             video_id = self._search_regex( |             video_id = self._search_regex( | ||||||
|                 r'videoid\s*:\s*"([\d+a-z]{7,})"', webpage, 'videoid', default=None) |                 r'videoid\s*:\s*"([\d+a-z]{7,})"', webpage, 'videoid', default=None) | ||||||
|             if video_id: |             if video_id: | ||||||
|   | |||||||
| @@ -558,7 +558,7 @@ class SoundcloudSetIE(SoundcloudPlaylistBaseIE): | |||||||
|  |  | ||||||
| class SoundcloudPagedPlaylistBaseIE(SoundcloudIE): | class SoundcloudPagedPlaylistBaseIE(SoundcloudIE): | ||||||
|     def _extract_playlist(self, base_url, playlist_id, playlist_title): |     def _extract_playlist(self, base_url, playlist_id, playlist_title): | ||||||
|         # Per the SoundCloud documentation, the maximum limit for a linked partioning query is 200. |         # Per the SoundCloud documentation, the maximum limit for a linked partitioning query is 200. | ||||||
|         # https://developers.soundcloud.com/blog/offset-pagination-deprecated |         # https://developers.soundcloud.com/blog/offset-pagination-deprecated | ||||||
|         COMMON_QUERY = { |         COMMON_QUERY = { | ||||||
|             'limit': 200, |             'limit': 200, | ||||||
|   | |||||||
| @@ -86,7 +86,7 @@ class TagesschauPlayerIE(InfoExtractor): | |||||||
|         #     return self._extract_via_api(kind, video_id) |         #     return self._extract_via_api(kind, video_id) | ||||||
|  |  | ||||||
|         # JSON api does not provide some audio formats (e.g. ogg) thus |         # JSON api does not provide some audio formats (e.g. ogg) thus | ||||||
|         # extractiong audio via webpage |         # extracting audio via webpage | ||||||
|  |  | ||||||
|         webpage = self._download_webpage(url, video_id) |         webpage = self._download_webpage(url, video_id) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -208,7 +208,7 @@ class ThePlatformIE(ThePlatformBaseIE, AdobePassIE): | |||||||
|         if m: |         if m: | ||||||
|             return [m.group('url')] |             return [m.group('url')] | ||||||
|  |  | ||||||
|         # Are whitesapces ignored in URLs? |         # Are whitespaces ignored in URLs? | ||||||
|         # https://github.com/ytdl-org/youtube-dl/issues/12044 |         # https://github.com/ytdl-org/youtube-dl/issues/12044 | ||||||
|         matches = re.findall( |         matches = re.findall( | ||||||
|             r'(?s)<(?:iframe|script)[^>]+src=(["\'])((?:https?:)?//player\.theplatform\.com/p/.+?)\1', webpage) |             r'(?s)<(?:iframe|script)[^>]+src=(["\'])((?:https?:)?//player\.theplatform\.com/p/.+?)\1', webpage) | ||||||
|   | |||||||
| @@ -56,9 +56,9 @@ class TurnerBaseIE(AdobePassIE): | |||||||
|         content_id = xpath_text(video_data, 'contentId') or video_id |         content_id = xpath_text(video_data, 'contentId') or video_id | ||||||
|         # rtmp_src = xpath_text(video_data, 'akamai/src') |         # rtmp_src = xpath_text(video_data, 'akamai/src') | ||||||
|         # if rtmp_src: |         # if rtmp_src: | ||||||
|         #     splited_rtmp_src = rtmp_src.split(',') |         #     split_rtmp_src = rtmp_src.split(',') | ||||||
|         #     if len(splited_rtmp_src) == 2: |         #     if len(split_rtmp_src) == 2: | ||||||
|         #         rtmp_src = splited_rtmp_src[1] |         #         rtmp_src = split_rtmp_src[1] | ||||||
|         # aifp = xpath_text(video_data, 'akamai/aifp', default='') |         # aifp = xpath_text(video_data, 'akamai/aifp', default='') | ||||||
|  |  | ||||||
|         urls = [] |         urls = [] | ||||||
|   | |||||||
| @@ -922,7 +922,7 @@ class VimeoAlbumIE(VimeoBaseInfoExtractor): | |||||||
|     }] |     }] | ||||||
|     _PAGE_SIZE = 100 |     _PAGE_SIZE = 100 | ||||||
|  |  | ||||||
|     def _fetch_page(self, album_id, authorizaion, hashed_pass, page): |     def _fetch_page(self, album_id, authorization, hashed_pass, page): | ||||||
|         api_page = page + 1 |         api_page = page + 1 | ||||||
|         query = { |         query = { | ||||||
|             'fields': 'link,uri', |             'fields': 'link,uri', | ||||||
| @@ -934,7 +934,7 @@ class VimeoAlbumIE(VimeoBaseInfoExtractor): | |||||||
|         videos = self._download_json( |         videos = self._download_json( | ||||||
|             'https://api.vimeo.com/albums/%s/videos' % album_id, |             'https://api.vimeo.com/albums/%s/videos' % album_id, | ||||||
|             album_id, 'Downloading page %d' % api_page, query=query, headers={ |             album_id, 'Downloading page %d' % api_page, query=query, headers={ | ||||||
|                 'Authorization': 'jwt ' + authorizaion, |                 'Authorization': 'jwt ' + authorization, | ||||||
|             })['data'] |             })['data'] | ||||||
|         for video in videos: |         for video in videos: | ||||||
|             link = video.get('link') |             link = video.get('link') | ||||||
|   | |||||||
| @@ -54,17 +54,17 @@ class XiamiBaseIE(InfoExtractor): | |||||||
|     def _decrypt(origin): |     def _decrypt(origin): | ||||||
|         n = int(origin[0]) |         n = int(origin[0]) | ||||||
|         origin = origin[1:] |         origin = origin[1:] | ||||||
|         short_lenth = len(origin) // n |         short_length = len(origin) // n | ||||||
|         long_num = len(origin) - short_lenth * n |         long_num = len(origin) - short_length * n | ||||||
|         l = tuple() |         l = tuple() | ||||||
|         for i in range(0, n): |         for i in range(0, n): | ||||||
|             length = short_lenth |             length = short_length | ||||||
|             if i < long_num: |             if i < long_num: | ||||||
|                 length += 1 |                 length += 1 | ||||||
|             l += (origin[0:length], ) |             l += (origin[0:length], ) | ||||||
|             origin = origin[length:] |             origin = origin[length:] | ||||||
|         ans = '' |         ans = '' | ||||||
|         for i in range(0, short_lenth + 1): |         for i in range(0, short_length + 1): | ||||||
|             for j in range(0, n): |             for j in range(0, n): | ||||||
|                 if len(l[j]) > i: |                 if len(l[j]) > i: | ||||||
|                     ans += l[j][i] |                     ans += l[j][i] | ||||||
|   | |||||||
| @@ -2458,7 +2458,7 @@ class XAttrMetadataError(YoutubeDLError): | |||||||
|  |  | ||||||
|         # Parsing code and msg |         # Parsing code and msg | ||||||
|         if (self.code in (errno.ENOSPC, errno.EDQUOT) |         if (self.code in (errno.ENOSPC, errno.EDQUOT) | ||||||
|                 or 'No space left' in self.msg or 'Disk quota excedded' in self.msg): |                 or 'No space left' in self.msg or 'Disk quota exceeded' in self.msg): | ||||||
|             self.reason = 'NO_SPACE' |             self.reason = 'NO_SPACE' | ||||||
|         elif self.code == errno.E2BIG or 'Argument list too long' in self.msg: |         elif self.code == errno.E2BIG or 'Argument list too long' in self.msg: | ||||||
|             self.reason = 'VALUE_TOO_LONG' |             self.reason = 'VALUE_TOO_LONG' | ||||||
| @@ -4207,10 +4207,10 @@ def parse_codecs(codecs_str): | |||||||
|     # http://tools.ietf.org/html/rfc6381 |     # http://tools.ietf.org/html/rfc6381 | ||||||
|     if not codecs_str: |     if not codecs_str: | ||||||
|         return {} |         return {} | ||||||
|     splited_codecs = list(filter(None, map( |     split_codecs = list(filter(None, map( | ||||||
|         lambda str: str.strip(), codecs_str.strip().strip(',').split(',')))) |         lambda str: str.strip(), codecs_str.strip().strip(',').split(',')))) | ||||||
|     vcodec, acodec = None, None |     vcodec, acodec = None, None | ||||||
|     for full_codec in splited_codecs: |     for full_codec in split_codecs: | ||||||
|         codec = full_codec.split('.')[0] |         codec = full_codec.split('.')[0] | ||||||
|         if codec in ('avc1', 'avc2', 'avc3', 'avc4', 'vp9', 'vp8', 'hev1', 'hev2', 'h263', 'h264', 'mp4v', 'hvc1', 'av01', 'theora'): |         if codec in ('avc1', 'avc2', 'avc3', 'avc4', 'vp9', 'vp8', 'hev1', 'hev2', 'h263', 'h264', 'mp4v', 'hvc1', 'av01', 'theora'): | ||||||
|             if not vcodec: |             if not vcodec: | ||||||
| @@ -4221,10 +4221,10 @@ def parse_codecs(codecs_str): | |||||||
|         else: |         else: | ||||||
|             write_string('WARNING: Unknown codec %s\n' % full_codec, sys.stderr) |             write_string('WARNING: Unknown codec %s\n' % full_codec, sys.stderr) | ||||||
|     if not vcodec and not acodec: |     if not vcodec and not acodec: | ||||||
|         if len(splited_codecs) == 2: |         if len(split_codecs) == 2: | ||||||
|             return { |             return { | ||||||
|                 'vcodec': splited_codecs[0], |                 'vcodec': split_codecs[0], | ||||||
|                 'acodec': splited_codecs[1], |                 'acodec': split_codecs[1], | ||||||
|             } |             } | ||||||
|     else: |     else: | ||||||
|         return { |         return { | ||||||
| @@ -5463,7 +5463,7 @@ def encode_base_n(num, n, table=None): | |||||||
|  |  | ||||||
| def decode_packed_codes(code): | def decode_packed_codes(code): | ||||||
|     mobj = re.search(PACKED_CODES_RE, code) |     mobj = re.search(PACKED_CODES_RE, code) | ||||||
|     obfucasted_code, base, count, symbols = mobj.groups() |     obfuscated_code, base, count, symbols = mobj.groups() | ||||||
|     base = int(base) |     base = int(base) | ||||||
|     count = int(count) |     count = int(count) | ||||||
|     symbols = symbols.split('|') |     symbols = symbols.split('|') | ||||||
| @@ -5476,7 +5476,7 @@ def decode_packed_codes(code): | |||||||
|  |  | ||||||
|     return re.sub( |     return re.sub( | ||||||
|         r'\b(\w+)\b', lambda mobj: symbol_table[mobj.group(0)], |         r'\b(\w+)\b', lambda mobj: symbol_table[mobj.group(0)], | ||||||
|         obfucasted_code) |         obfuscated_code) | ||||||
|  |  | ||||||
|  |  | ||||||
| def caesar(s, alphabet, shift): | def caesar(s, alphabet, shift): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user