Browse Source

Merge branch 'master' of github.com:rg3/youtube-dl

Philipp Hagemeister 13 years ago
parent
commit
fcbc8c830e
3 changed files with 5 additions and 3 deletions
  1. BIN
      youtube-dl
  2. BIN
      youtube-dl.exe
  3. 5 3
      youtube_dl/InfoExtractors.py

BIN
youtube-dl


BIN
youtube-dl.exe


+ 5 - 3
youtube_dl/InfoExtractors.py

@@ -616,7 +616,7 @@ class MetacafeIE(InfoExtractor):
 class DailymotionIE(InfoExtractor):
 	"""Information Extractor for Dailymotion"""
 
-	_VALID_URL = r'(?i)(?:https?://)?(?:www\.)?dailymotion\.[a-z]{2,3}/video/([^_/]+)_([^/]+)'
+	_VALID_URL = r'(?i)(?:https?://)?(?:www\.)?dailymotion\.[a-z]{2,3}/video/([^/]+)'
 	IE_NAME = u'dailymotion'
 
 	def __init__(self, downloader=None):
@@ -637,7 +637,7 @@ class DailymotionIE(InfoExtractor):
 			self._downloader.trouble(u'ERROR: invalid URL: %s' % url)
 			return
 
-		video_id = mobj.group(1)
+		video_id = mobj.group(1).split('_')[0].split('?')[0]
 
 		video_extension = 'mp4'
 
@@ -662,10 +662,12 @@ class DailymotionIE(InfoExtractor):
 		elif 'sdURL' in flashvars: max_quality = 'sdURL'
 		else: max_quality = 'ldURL'
 		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')
 			return
-		video_url = mobj.group(1).replace('\\/', '/')
+		video_url = urllib.unquote(mobj.group(1)).replace('\\/', '/')
 
 		# TODO: support choosing qualities