mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 01:57:08 -05:00 
			
		
		
		
	Fix metacafe.com and UTF8 output filenames
This commit is contained in:
		
							
								
								
									
										11
									
								
								youtube-dl
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								youtube-dl
									
									
									
									
									
								
							@@ -4,6 +4,7 @@
 | 
			
		||||
# License: Public domain code
 | 
			
		||||
import htmlentitydefs
 | 
			
		||||
import httplib
 | 
			
		||||
import locale
 | 
			
		||||
import math
 | 
			
		||||
import netrc
 | 
			
		||||
import os
 | 
			
		||||
@@ -592,7 +593,7 @@ class MetacafeIE(InfoExtractor):
 | 
			
		||||
	"""Information Extractor for metacafe.com."""
 | 
			
		||||
 | 
			
		||||
	_VALID_URL = r'(?:http://)?(?:www\.)?metacafe\.com/watch/([^/]+)/([^/]+)/.*'
 | 
			
		||||
	_DISCLAIMER = 'http://www.metacafe.com/disclaimer'
 | 
			
		||||
	_DISCLAIMER = 'http://www.metacafe.com/family_filter/'
 | 
			
		||||
	_youtube_ie = None
 | 
			
		||||
 | 
			
		||||
	def __init__(self, youtube_ie, downloader=None):
 | 
			
		||||
@@ -631,10 +632,10 @@ class MetacafeIE(InfoExtractor):
 | 
			
		||||
 | 
			
		||||
		# Confirm age
 | 
			
		||||
		disclaimer_form = {
 | 
			
		||||
			'allowAdultContent': '1',
 | 
			
		||||
			'filters': '0',
 | 
			
		||||
			'submit': "Continue - I'm over 18",
 | 
			
		||||
			}
 | 
			
		||||
		request = urllib2.Request('http://www.metacafe.com/watch/', urllib.urlencode(disclaimer_form), std_headers)
 | 
			
		||||
		request = urllib2.Request('http://www.metacafe.com/', urllib.urlencode(disclaimer_form), std_headers)
 | 
			
		||||
		try:
 | 
			
		||||
			self.report_age_confirmation()
 | 
			
		||||
			disclaimer = urllib2.urlopen(request).read()
 | 
			
		||||
@@ -684,7 +685,7 @@ class MetacafeIE(InfoExtractor):
 | 
			
		||||
 | 
			
		||||
		video_url = '%s?__gda__=%s' % (mediaURL, gdaKey)
 | 
			
		||||
 | 
			
		||||
		mobj = re.search(r'(?im)<meta name="title" content="Metacafe - ([^"]+)"', webpage)
 | 
			
		||||
		mobj = re.search(r'(?im)<title>(.*) - Video</title>', webpage)
 | 
			
		||||
		if mobj is None:
 | 
			
		||||
			self.to_stderr(u'ERROR: unable to extract title')
 | 
			
		||||
			return [None]
 | 
			
		||||
@@ -909,7 +910,7 @@ if __name__ == '__main__':
 | 
			
		||||
			'forcetitle': opts.gettitle,
 | 
			
		||||
			'simulate': (opts.simulate or opts.geturl or opts.gettitle),
 | 
			
		||||
			'format': opts.format,
 | 
			
		||||
			'outtmpl': ((opts.outtmpl is not None and opts.outtmpl.decode())
 | 
			
		||||
			'outtmpl': ((opts.outtmpl is not None and opts.outtmpl.decode(locale.getdefaultlocale()[1]))
 | 
			
		||||
				or (opts.usetitle and u'%(stitle)s-%(id)s.%(ext)s')
 | 
			
		||||
				or (opts.useliteral and u'%(title)s-%(id)s.%(ext)s')
 | 
			
		||||
				or u'%(id)s.%(ext)s'),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user