Fix bad new bug in ftp code -- the test for existing file using NLST
would set the transfer to text mode instead of the specified mode.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index b9a82d1..8ecef03 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -521,6 +521,8 @@
 			except ftplib.error_perm, reason:
 				raise IOError, ('ftp error', reason), \
 				      sys.exc_info()[2]
+			# Restore the transfer mode!
+			self.ftp.voidcmd(cmd)
 			# Try to retrieve as a file
 			try:
 				cmd = 'RETR ' + file
@@ -530,6 +532,8 @@
 					raise IOError, ('ftp error', reason), \
 					      sys.exc_info()[2]
 		if not conn:
+			# Set transfer mode to ASCII!
+			self.ftp.voidcmd('TYPE A')
 			# Try a directory listing
 			if file: cmd = 'LIST ' + file
 			else: cmd = 'LIST'