Restore warning when user forgets to quote URL (#1396)
This commit is contained in:
		
							parent
							
								
									387ae5f30b
								
							
						
					
					
						commit
						15870e90b0
					
				| @ -484,6 +484,8 @@ def _real_main(argv=None): | |||||||
|             if not ie._WORKING: |             if not ie._WORKING: | ||||||
|                 continue |                 continue | ||||||
|             desc = getattr(ie, 'IE_DESC', ie.IE_NAME) |             desc = getattr(ie, 'IE_DESC', ie.IE_NAME) | ||||||
|  |             if desc is False: | ||||||
|  |                 continue | ||||||
|             if hasattr(ie, 'SEARCH_KEY'): |             if hasattr(ie, 'SEARCH_KEY'): | ||||||
|                 _SEARCHES = (u'cute kittens', u'slithering pythons', u'falling cat', u'angry poodle', u'purple fish', u'running tortoise') |                 _SEARCHES = (u'cute kittens', u'slithering pythons', u'falling cat', u'angry poodle', u'purple fish', u'running tortoise') | ||||||
|                 _COUNTS = (u'', u'5', u'10', u'all') |                 _COUNTS = (u'', u'5', u'10', u'all') | ||||||
|  | |||||||
| @ -141,6 +141,7 @@ from .youtube import ( | |||||||
|     YoutubeShowIE, |     YoutubeShowIE, | ||||||
|     YoutubeSubscriptionsIE, |     YoutubeSubscriptionsIE, | ||||||
|     YoutubeRecommendedIE, |     YoutubeRecommendedIE, | ||||||
|  |     YoutubeTruncatedURLIE, | ||||||
|     YoutubeWatchLaterIE, |     YoutubeWatchLaterIE, | ||||||
|     YoutubeFavouritesIE, |     YoutubeFavouritesIE, | ||||||
| ) | ) | ||||||
|  | |||||||
| @ -1250,9 +1250,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor): | |||||||
|         return url_map |         return url_map | ||||||
| 
 | 
 | ||||||
|     def _real_extract(self, url): |     def _real_extract(self, url): | ||||||
|         if re.match(r'(?:https?://)?[^/]+/watch\?feature=[a-z_]+$', url): |  | ||||||
|             self._downloader.report_warning(u'Did you forget to quote the URL? Remember that & is a meta-character in most shells, so you want to put the URL in quotes, like  youtube-dl \'http://www.youtube.com/watch?feature=foo&v=BaW_jenozKc\' (or simply  youtube-dl BaW_jenozKc  ).') |  | ||||||
| 
 |  | ||||||
|         # Extract original video URL from URL with redirection, like age verification, using next_url parameter |         # Extract original video URL from URL with redirection, like age verification, using next_url parameter | ||||||
|         mobj = re.search(self._NEXT_URL_RE, url) |         mobj = re.search(self._NEXT_URL_RE, url) | ||||||
|         if mobj: |         if mobj: | ||||||
| @ -1637,7 +1634,7 @@ class YoutubeChannelIE(InfoExtractor): | |||||||
| 
 | 
 | ||||||
| class YoutubeUserIE(InfoExtractor): | class YoutubeUserIE(InfoExtractor): | ||||||
|     IE_DESC = u'YouTube.com user videos (URL or "ytuser" keyword)' |     IE_DESC = u'YouTube.com user videos (URL or "ytuser" keyword)' | ||||||
|     _VALID_URL = r'(?:(?:(?:https?://)?(?:\w+\.)?youtube\.com/(?:user/)?)|ytuser:)(?!feed/)([A-Za-z0-9_-]+)' |     _VALID_URL = r'(?:(?:(?:https?://)?(?:\w+\.)?youtube\.com/(?:user/)?(?!watch(?:$|[^a-z_A-Z0-9-])))|ytuser:)(?!feed/)([A-Za-z0-9_-]+)' | ||||||
|     _TEMPLATE_URL = 'http://gdata.youtube.com/feeds/api/users/%s' |     _TEMPLATE_URL = 'http://gdata.youtube.com/feeds/api/users/%s' | ||||||
|     _GDATA_PAGE_SIZE = 50 |     _GDATA_PAGE_SIZE = 50 | ||||||
|     _GDATA_URL = 'http://gdata.youtube.com/feeds/api/users/%s/uploads?max-results=%d&start-index=%d&alt=json' |     _GDATA_URL = 'http://gdata.youtube.com/feeds/api/users/%s/uploads?max-results=%d&start-index=%d&alt=json' | ||||||
| @ -1830,3 +1827,18 @@ class YoutubeFavouritesIE(YoutubeBaseInfoExtractor): | |||||||
|         webpage = self._download_webpage('https://www.youtube.com/my_favorites', 'Youtube Favourites videos') |         webpage = self._download_webpage('https://www.youtube.com/my_favorites', 'Youtube Favourites videos') | ||||||
|         playlist_id = self._search_regex(r'list=(.+?)["&]', webpage, u'favourites playlist id') |         playlist_id = self._search_regex(r'list=(.+?)["&]', webpage, u'favourites playlist id') | ||||||
|         return self.url_result(playlist_id, 'YoutubePlaylist') |         return self.url_result(playlist_id, 'YoutubePlaylist') | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class YoutubeTruncatedURLIE(InfoExtractor): | ||||||
|  |     IE_NAME = 'youtube:truncated_url' | ||||||
|  |     IE_DESC = False  # Do not list | ||||||
|  |     _VALID_URL = r'(?:https?://)?[^/]+/watch\?feature=[a-z_]+$' | ||||||
|  | 
 | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         raise ExtractorError( | ||||||
|  |             u'Did you forget to quote the URL? Remember that & is a meta ' | ||||||
|  |             u'character in most shells, so you want to put the URL in quotes, ' | ||||||
|  |             u'like  youtube-dl ' | ||||||
|  |             u'\'http://www.youtube.com/watch?feature=foo&v=BaW_jenozKc\'' | ||||||
|  |             u' (or simply  youtube-dl BaW_jenozKc  ).', | ||||||
|  |             expected=True) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user