From 7d950ca1d6543d51d066eaceb9ea1d5ac96d92f4 Mon Sep 17 00:00:00 2001
From: Ricardo Garcia <sarbalap+freshmeat@gmail.com>
Date: Thu, 9 Dec 2010 19:33:04 +0100
Subject: [PATCH] Improve temporary filename handling of special cases

---
 youtube-dl | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/youtube-dl b/youtube-dl
index 415cf7073..64c590fbf 100755
--- a/youtube-dl
+++ b/youtube-dl
@@ -238,7 +238,9 @@ class FileDownloader(object):
 	@staticmethod
 	def temp_name(filename):
 		"""Returns a temporary filename for the given filename."""
-		return filename + '.part'
+		if filename == u'-' or (os.path.exists(filename) and not os.path.isfile(filename)):
+			return filename
+		return filename + u'.part'
 	
 	@staticmethod
 	def format_bytes(bytes):
@@ -361,6 +363,8 @@ class FileDownloader(object):
 	
 	def try_rename(self, old_filename, new_filename):
 		try:
+			if old_filename == new_filename:
+				return
 			os.rename(old_filename, new_filename)
 		except (IOError, OSError), err:
 			self.trouble(u'ERROR: unable to rename file')