Patchwork [hglib] hglib: add a __bool__ method where __nonzero__ is defined (issue4520)

login
register
mail settings
Submitter Brett Cannon
Date March 16, 2015, 10 p.m.
Message ID <958307b30af3a4f17358.1426543204@bcannon-macbookpro2.roam.corp.google.com>
Download mbox | patch
Permalink /patch/8102/
State Accepted
Headers show

Comments

Brett Cannon - March 16, 2015, 10 p.m.
# HG changeset patch
# User Brett Cannon <brett@python.org>
# Date 1426543167 14400
#      Mon Mar 16 17:59:27 2015 -0400
# Node ID 958307b30af3a4f1735831db623fcb64ec77be4f
# Parent  c1b966866ed7d9bf2f3ac8a0ad0f95af17e53984
hglib: add a __bool__ method where __nonzero__ is defined (issue4520)

Python 3 uses the __bool__ magic method for determining the boolean
value of an object instead of __nonzero__.
Matt Mackall - March 16, 2015, 11:26 p.m.
On Mon, 2015-03-16 at 18:00 -0400, Brett Cannon wrote:
> # HG changeset patch
> # User Brett Cannon <brett@python.org>
> # Date 1426543167 14400
> #      Mon Mar 16 17:59:27 2015 -0400
> # Node ID 958307b30af3a4f1735831db623fcb64ec77be4f
> # Parent  c1b966866ed7d9bf2f3ac8a0ad0f95af17e53984
> hglib: add a __bool__ method where __nonzero__ is defined (issue4520)
> 
> Python 3 uses the __bool__ magic method for determining the boolean
> value of an object instead of __nonzero__.

Queued for hglib, thanks.

Patch

diff -r c1b966866ed7 -r 958307b30af3 hglib/context.py
--- a/hglib/context.py	Fri Mar 13 14:46:13 2015 -0400
+++ b/hglib/context.py	Mon Mar 16 17:59:27 2015 -0400
@@ -79,6 +79,9 @@ 
     def __nonzero__(self):
         return self._rev != -1
 
+    def __bool__(self):
+        return self.__nonzero__()
+
     def __contains__(self, key):
         return key in self._manifest
 
diff -r c1b966866ed7 -r 958307b30af3 hglib/util.py
--- a/hglib/util.py	Fri Mar 13 14:46:13 2015 -0400
+++ b/hglib/util.py	Mon Mar 16 17:59:27 2015 -0400
@@ -149,6 +149,9 @@ 
         """ Returns True if the return code was 0, False otherwise """
         return self.ret == 0
 
+    def __bool__(self):
+        return self.__nonzero__()
+
 class propertycache(object):
     """
     Decorator that remembers the return value of a function call.