2
0
Эх сурвалжийг харах

now downloads soundcloud songs, need to polish title grabbing and file naming

Kevin Ngo 14 жил өмнө
parent
commit
871be928a8
1 өөрчлөгдсөн 11 нэмэгдсэн , 10 устгасан
  1. 11 10
      youtube-dl

+ 11 - 10
youtube-dl

@@ -3533,10 +3533,10 @@ class SoundcloudIE(InfoExtractor):
 		self.report_extraction('%s/%s' % (uploader, slug_title))
 		self.report_extraction('%s/%s' % (uploader, slug_title))
 
 
 		# extract uid and access token
 		# extract uid and access token
-		mobj = re.search('"uid":"([\w\d]+?)".*?stream_token=([\w\d]+)', page)   
+		mobj = re.search('"uid":"([\w\d]+?)".*?stream_token=([\w\d]+)', webpage)   
 		if mobj:
 		if mobj:
-			video_id = match.group(1)
-			stream_token = match.group(2)
+			video_id = mobj.group(1)
+			stream_token = mobj.group(2)
 
 
 		# construct media url (with uid/token) to request song
 		# construct media url (with uid/token) to request song
 		mediaURL = "http://media.soundcloud.com/stream/%s?stream_token=%s"
 		mediaURL = "http://media.soundcloud.com/stream/%s?stream_token=%s"
@@ -3544,17 +3544,18 @@ class SoundcloudIE(InfoExtractor):
 
 
 		# description
 		# description
 		description = u'No description available'
 		description = u'No description available'
-		mobj = re.search('track-description-value"><p>(.*?)</p>', page)
+		mobj = re.search('track-description-value"><p>(.*?)</p>', webpage)
 		if mobj:
 		if mobj:
 			description = mobj.group(1)
 			description = mobj.group(1)
 		
 		
 		# upload date
 		# upload date
-		mobj = re.search("pretty-date'>on ([\w]+ [\d]+, [\d]+ \d+:\d+)</abbr></h2>", page)
+		upload_date = None
+		mobj = re.search("pretty-date'>on ([\w]+ [\d]+, [\d]+ \d+:\d+)</abbr></h2>", webpage)
 		if mobj:
 		if mobj:
 			try:
 			try:
-				upload_date = datetime.datetime.strptime(match.group(1), '%B %d, %Y %H:%M').strftime('%Y%m%d')
-			except:
-				pass
+				upload_date = datetime.datetime.strptime(mobj.group(1), '%B %d, %Y %H:%M').strftime('%Y%m%d')
+			except Exception as e:
+				print str(e)
 
 
 		# for soundcloud, a request must be made to a cross domain to establish
 		# for soundcloud, a request must be made to a cross domain to establish
 		# needed cookies
 		# needed cookies
@@ -3563,10 +3564,10 @@ class SoundcloudIE(InfoExtractor):
 		try:
 		try:
 			self._downloader.process_info({
 			self._downloader.process_info({
 				'id':		video_id,
 				'id':		video_id,
-				'url':		video_url,
+				'url':		mediaURL,
 				'uploader':	uploader,
 				'uploader':	uploader,
 				'upload_date':  upload_date,
 				'upload_date':  upload_date,
-				'title':	video_title,
+				'title':	simple_title,
 				'stitle':	simple_title,
 				'stitle':	simple_title,
 				'ext':		u'mp3',
 				'ext':		u'mp3',
 				'format':	u'NA',
 				'format':	u'NA',