youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 2546e7679f26147fce3ddb3fc49e869a03ec0a2e
parent 0ddf38df1877158fff2d374f5791f8c6db64e98b
Author: Ricardo Garcia <sarbalap+freshmeat@gmail.com>
Date:   Sat, 13 Sep 2008 13:23:24 +0200

Fix metacafe.com and UTF8 output filenames

Diffstat:
Myoutube-dl | 11++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git 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'),