keepalive: use safehasattr instead of hasattr
authorAugie Fackler <durin42@gmail.com>
Mon, 25 Jul 2011 20:36:59 -0500
changeset 14958 fd246aefedd3
parent 14957 16e5271b216f
child 14959 b1dcc5ab86cd
keepalive: use safehasattr instead of hasattr
mercurial/keepalive.py
--- a/mercurial/keepalive.py	Mon Jul 25 15:38:46 2011 -0500
+++ b/mercurial/keepalive.py	Mon Jul 25 20:36:59 2011 -0500
@@ -547,13 +547,14 @@
         print "send:", repr(str)
     try:
         blocksize = 8192
-        if hasattr(str,'read') :
+        read = getattr(str, 'read', None)
+        if read is not None:
             if self.debuglevel > 0:
                 print "sendIng a read()able"
-            data = str.read(blocksize)
+            data = read(blocksize)
             while data:
                 self.sock.sendall(data)
-                data = str.read(blocksize)
+                data = read(blocksize)
         else:
             self.sock.sendall(str)
     except socket.error, v: