changeset 36840:6bdea0efdab5

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
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 10 Mar 2018 12:22:08 -0500
parents 82af07e1ae16
children 46f4d71ed505
files mercurial/util.py
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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)