util: forward __bool__()/__nonzero__() on fileobjectproxy
authorMatt Harbison <matt_harbison@yahoo.com>
Sat, 10 Mar 2018 12:22:08 -0500
changeset 36832 6bdea0efdab5
parent 36831 82af07e1ae16
child 36833 46f4d71ed505
util: forward __bool__()/__nonzero__() on fileobjectproxy In trying to debug the Windows process hang in D2720, I changed the stderr pipe to the peer to be os.devnull instead. That caused sshpeer._cleanuppipes()[1] to explode, complaining NoneType has no __iter__ attribute, even though the previous line checked for None. [1] https://www.mercurial-scm.org/repo/hg/file/b434965f984e/mercurial/sshpeer.py#l133
mercurial/util.py
--- a/mercurial/util.py	Tue Mar 06 07:16:41 2018 -0600
+++ b/mercurial/util.py	Sat Mar 10 12:22:08 2018 -0500
@@ -543,6 +543,11 @@
 
         return getattr(object.__getattribute__(self, r'_orig'), name)
 
+    def __nonzero__(self):
+        return bool(object.__getattribute__(self, r'_orig'))
+
+    __bool__ = __nonzero__
+
     def __delattr__(self, name):
         return delattr(object.__getattribute__(self, r'_orig'), name)