]> granicus.if.org Git - python/commitdiff
issue10883 - Silence some ftp related ResourceWarnings in test_urllib2net. Patch...
authorSenthil Kumaran <orsenthil@gmail.com>
Thu, 24 Mar 2011 03:46:19 +0000 (11:46 +0800)
committerSenthil Kumaran <orsenthil@gmail.com>
Thu, 24 Mar 2011 03:46:19 +0000 (11:46 +0800)
Lib/urllib/request.py

index 4d3648d0f2c35eb4563dd060b14377b4ef8f1f91..53e8107c564cc56457e38dcf975c59b5a1986572 100644 (file)
@@ -2136,7 +2136,7 @@ class ftpwrapper:
             # Try to retrieve as a file
             try:
                 cmd = 'RETR ' + file
-                conn = self.ftp.ntransfercmd(cmd)
+                conn, retrlen = self.ftp.ntransfercmd(cmd)
             except ftplib.error_perm as reason:
                 if str(reason)[:3] != '550':
                     raise URLError('ftp error', reason).with_traceback(
@@ -2157,10 +2157,14 @@ class ftpwrapper:
                 cmd = 'LIST ' + file
             else:
                 cmd = 'LIST'
-            conn = self.ftp.ntransfercmd(cmd)
+            conn, retrlen = self.ftp.ntransfercmd(cmd)
         self.busy = 1
+
+        ftpobj = addclosehook(conn.makefile('rb'), self.endtransfer)
+        conn.close()
         # Pass back both a suitably decorated object and a retrieval length
-        return (addclosehook(conn[0].makefile('rb'), self.endtransfer), conn[1])
+        return (ftpobj, retrlen)
+
     def endtransfer(self):
         if not self.busy:
             return