Browse Source

Merge pull request #352 from chocolateboy/decontaminate_stdout

don't corrupt stdout (-o -) in verbose mode
Philipp Hagemeister 13 years ago
parent
commit
a047951477
4 changed files with 7 additions and 6 deletions
  1. BIN
      youtube-dl
  2. 2 2
      youtube_dl/InfoExtractors.py
  3. 4 3
      youtube_dl/__init__.py
  4. 1 1
      youtube_dl/utils.py

BIN
youtube-dl


+ 2 - 2
youtube_dl/InfoExtractors.py

@@ -181,7 +181,7 @@ class YoutubeIE(InfoExtractor):
 			start = "%02i:%02i:%02i,%03i" %(start/(60*60), start/60%60, start%60, start%1*1000)
 			end = "%02i:%02i:%02i,%03i" %(end/(60*60), end/60%60, end%60, end%1*1000)
 			caption = unescapeHTML(caption)
-			caption = unescapeHTML(caption) # double cycle, inentional
+			caption = unescapeHTML(caption) # double cycle, intentional
 			srt += str(n) + '\n'
 			srt += start + ' --> ' + end + '\n'
 			srt += caption + '\n\n'
@@ -2450,7 +2450,7 @@ class SoundcloudIE(InfoExtractor):
 			try:
 				upload_date = datetime.datetime.strptime(mobj.group(1), '%B %d, %Y %H:%M').strftime('%Y%m%d')
 			except Exception, e:
-				print str(e)
+				self._downloader.to_stderr(str(e))
 
 		# for soundcloud, a request to a cross domain is required for cookies
 		request = urllib2.Request('http://media.soundcloud.com/crossdomain.xml', std_headers)

+ 4 - 3
youtube_dl/__init__.py

@@ -396,9 +396,6 @@ def _real_main():
 	urllib2.install_opener(opener)
 	socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)
 
-	if opts.verbose:
-		print(u'[debug] Proxy map: ' + str(proxy_handler.proxies))
-
 	extractors = gen_extractors()
 
 	if opts.list_extractors:
@@ -496,6 +493,10 @@ def _real_main():
 		'prefer_free_formats': opts.prefer_free_formats,
 		'verbose': opts.verbose,
 		})
+
+	if opts.verbose:
+		fd.to_screen(u'[debug] Proxy map: ' + str(proxy_handler.proxies))
+
 	for extractor in extractors:
 		fd.add_info_extractor(extractor)
 

+ 1 - 1
youtube_dl/utils.py

@@ -83,7 +83,7 @@ class IDParser(HTMLParser.HTMLParser):
 		HTMLParser.HTMLParser.__init__(self)
 
 	def error(self, message):
-		print self.getpos()
+		print >> sys.stderr, self.getpos()
 		if self.error_count > 10 or self.started:
 			raise HTMLParser.HTMLParseError(message, self.getpos())
 		self.rawdata = '\n'.join(self.html.split('\n')[self.getpos()[0]:]) # skip one line