mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[crunchyroll] Fix descriptions with double quotes (closes #12124)
This commit is contained in:
		| @@ -1,3 +1,9 @@ | |||||||
|  | version <unreleased> | ||||||
|  |  | ||||||
|  | Extractors | ||||||
|  | * [crunchyroll] Fix descriptions with double quotes (#12124) | ||||||
|  |  | ||||||
|  |  | ||||||
| version 2017.02.21 | version 2017.02.21 | ||||||
|  |  | ||||||
| Core | Core | ||||||
|   | |||||||
| @@ -123,7 +123,7 @@ class CrunchyrollIE(CrunchyrollBaseIE): | |||||||
|         'url': 'http://www.crunchyroll.com/wanna-be-the-strongest-in-the-world/episode-1-an-idol-wrestler-is-born-645513', |         'url': 'http://www.crunchyroll.com/wanna-be-the-strongest-in-the-world/episode-1-an-idol-wrestler-is-born-645513', | ||||||
|         'info_dict': { |         'info_dict': { | ||||||
|             'id': '645513', |             'id': '645513', | ||||||
|             'ext': 'flv', |             'ext': 'mp4', | ||||||
|             'title': 'Wanna be the Strongest in the World Episode 1 – An Idol-Wrestler is Born!', |             'title': 'Wanna be the Strongest in the World Episode 1 – An Idol-Wrestler is Born!', | ||||||
|             'description': 'md5:2d17137920c64f2f49981a7797d275ef', |             'description': 'md5:2d17137920c64f2f49981a7797d275ef', | ||||||
|             'thumbnail': 'http://img1.ak.crunchyroll.com/i/spire1-tmb/20c6b5e10f1a47b10516877d3c039cae1380951166_full.jpg', |             'thumbnail': 'http://img1.ak.crunchyroll.com/i/spire1-tmb/20c6b5e10f1a47b10516877d3c039cae1380951166_full.jpg', | ||||||
| @@ -192,6 +192,21 @@ class CrunchyrollIE(CrunchyrollBaseIE): | |||||||
|         # geo-restricted (US), 18+ maturity wall, non-premium available |         # geo-restricted (US), 18+ maturity wall, non-premium available | ||||||
|         'url': 'http://www.crunchyroll.com/cosplay-complex-ova/episode-1-the-birth-of-the-cosplay-club-565617', |         'url': 'http://www.crunchyroll.com/cosplay-complex-ova/episode-1-the-birth-of-the-cosplay-club-565617', | ||||||
|         'only_matching': True, |         'only_matching': True, | ||||||
|  |     }, { | ||||||
|  |         # A description with double quotes | ||||||
|  |         'url': 'http://www.crunchyroll.com/11eyes/episode-1-piros-jszaka-red-night-535080', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': '535080', | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'title': '11eyes Episode 1 – Piros éjszaka - Red Night', | ||||||
|  |             'description': 'Kakeru and Yuka are thrown into an alternate nightmarish world they call "Red Night".', | ||||||
|  |             'uploader': 'Marvelous AQL Inc.', | ||||||
|  |             'upload_date': '20091021', | ||||||
|  |         }, | ||||||
|  |         'params': { | ||||||
|  |             # Just test metadata extraction | ||||||
|  |             'skip_download': True, | ||||||
|  |         }, | ||||||
|     }] |     }] | ||||||
|  |  | ||||||
|     _FORMAT_IDS = { |     _FORMAT_IDS = { | ||||||
| @@ -362,9 +377,9 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text | |||||||
|             r'(?s)<h1[^>]*>((?:(?!<h1).)*?<span[^>]+itemprop=["\']title["\'][^>]*>(?:(?!<h1).)+?)</h1>', |             r'(?s)<h1[^>]*>((?:(?!<h1).)*?<span[^>]+itemprop=["\']title["\'][^>]*>(?:(?!<h1).)+?)</h1>', | ||||||
|             webpage, 'video_title') |             webpage, 'video_title') | ||||||
|         video_title = re.sub(r' {2,}', ' ', video_title) |         video_title = re.sub(r' {2,}', ' ', video_title) | ||||||
|         video_description = self._html_search_regex( |         video_description = self._parse_json(self._html_search_regex( | ||||||
|             r'<script[^>]*>\s*.+?\[media_id=%s\].+?"description"\s*:\s*"([^"]+)' % video_id, |             r'<script[^>]*>\s*.+?\[media_id=%s\].+?({.+?"description"\s*:.+?})\);' % video_id, | ||||||
|             webpage, 'description', default=None) |             webpage, 'description', default='{}'), video_id).get('description') | ||||||
|         if video_description: |         if video_description: | ||||||
|             video_description = lowercase_escape(video_description.replace(r'\r\n', '\n')) |             video_description = lowercase_escape(video_description.replace(r'\r\n', '\n')) | ||||||
|         video_upload_date = self._html_search_regex( |         video_upload_date = self._html_search_regex( | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user