mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 01:27:07 -05:00 
			
		
		
		
	Re-engineered Dailymotion qualities selection (thanks @knagano, sort of merges #176)
This commit is contained in:
		@@ -658,15 +658,21 @@ class DailymotionIE(InfoExtractor):
 | 
			
		||||
			self._downloader.trouble(u'ERROR: unable to extract media URL')
 | 
			
		||||
			return
 | 
			
		||||
		flashvars = urllib.unquote(mobj.group(1))
 | 
			
		||||
		if 'hqURL' in flashvars: max_quality = 'hqURL'
 | 
			
		||||
		elif 'sdURL' in flashvars: max_quality = 'sdURL'
 | 
			
		||||
		else: max_quality = 'ldURL'
 | 
			
		||||
 | 
			
		||||
		for key in ['hd1080URL', 'hd720URL', 'hqURL', 'sdURL', 'ldURL', 'video_url']:
 | 
			
		||||
			if key in flashvars:
 | 
			
		||||
				max_quality = key
 | 
			
		||||
				self._downloader.to_screen(u'[dailymotion] Using %s' % key)
 | 
			
		||||
				break
 | 
			
		||||
		else:
 | 
			
		||||
			self._downloader.trouble(u'ERROR: unable to extract video URL')
 | 
			
		||||
			return
 | 
			
		||||
 | 
			
		||||
		mobj = re.search(r'"' + max_quality + r'":"(.+?)"', flashvars)
 | 
			
		||||
		if mobj is None:
 | 
			
		||||
			mobj = re.search(r'"video_url":"(.*?)",', flashvars)
 | 
			
		||||
		if mobj is None:
 | 
			
		||||
			self._downloader.trouble(u'ERROR: unable to extract media URL')
 | 
			
		||||
			self._downloader.trouble(u'ERROR: unable to extract video URL')
 | 
			
		||||
			return
 | 
			
		||||
 | 
			
		||||
		video_url = urllib.unquote(mobj.group(1)).replace('\\/', '/')
 | 
			
		||||
 | 
			
		||||
		# TODO: support choosing qualities
 | 
			
		||||
@@ -677,11 +683,12 @@ class DailymotionIE(InfoExtractor):
 | 
			
		||||
			return
 | 
			
		||||
		video_title = unescapeHTML(mobj.group('title').decode('utf-8'))
 | 
			
		||||
 | 
			
		||||
		video_uploader = u'NA'
 | 
			
		||||
		mobj = re.search(r'(?im)<span class="owner[^\"]+?">[^<]+?<a [^>]+?>([^<]+?)</a></span>', webpage)
 | 
			
		||||
		if mobj is None:
 | 
			
		||||
			self._downloader.trouble(u'ERROR: unable to extract uploader nickname')
 | 
			
		||||
			return
 | 
			
		||||
		video_uploader = mobj.group(1)
 | 
			
		||||
			self._downloader.trouble(u'WARNING: unable to extract uploader nickname')
 | 
			
		||||
		else:
 | 
			
		||||
			video_uploader = mobj.group(1)
 | 
			
		||||
 | 
			
		||||
		video_upload_date = u'NA'
 | 
			
		||||
		mobj = re.search(r'<div class="[^"]*uploaded_cont[^"]*" title="[^"]*">([0-9]{2})-([0-9]{2})-([0-9]{4})</div>', webpage)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user