summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRicardo Garcia <[email protected]>2008-09-13 13:23:24 +0200
committerRicardo Garcia <[email protected]>2010-10-31 11:23:35 +0100
commit2546e7679f26147fce3ddb3fc49e869a03ec0a2e (patch)
treebfefe3679af60fbacf282d14fe42ebae4e7b9dfc
parent0ddf38df1877158fff2d374f5791f8c6db64e98b (diff)
downloadyoutube-dl-2546e7679f26147fce3ddb3fc49e869a03ec0a2e.tar.gz
youtube-dl-2546e7679f26147fce3ddb3fc49e869a03ec0a2e.zip
Fix metacafe.com and UTF8 output filenames
-rwxr-xr-xyoutube-dl11
1 files changed, 6 insertions, 5 deletions
diff --git a/youtube-dl b/youtube-dl
index ba534e10b..ecc99b7c1 100755
--- a/youtube-dl
+++ b/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'),