# HG changeset patch # User Augie Fackler # Date 1311644219 18000 # Node ID fd246aefedd33e4dd7203ebde87a3703fb007c9f # Parent 16e5271b216fa1414f86ca7dad6ed92634d38f38 keepalive: use safehasattr instead of hasattr diff -r 16e5271b216f -r fd246aefedd3 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: