digraph: implement __bool__
authorZac Medico <zmedico@gentoo.org>
Wed, 18 May 2011 01:43:32 +0000 (18:43 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 26 May 2011 03:11:27 +0000 (20:11 -0700)
pym/portage/util/digraph.py

index df024fb4b4f970808575a9559f527bdba72427bc..1bbe10f615e392cb389551c298f54867dd5f292e 100644 (file)
@@ -1,9 +1,11 @@
-# Copyright 2010 Gentoo Foundation
+# Copyright 2010-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 __all__ = ['digraph']
 
 from collections import deque
+import sys
+
 from portage import _unicode_decode
 from portage.util import writemsg
 
@@ -221,6 +223,9 @@ class digraph(object):
                                        root_nodes.append(node)
                return root_nodes
 
+       def __bool__(self):
+               return bool(self.nodes)
+
        def is_empty(self):
                """Checks if the digraph is empty"""
                return len(self.nodes) == 0
@@ -332,3 +337,6 @@ class digraph(object):
        __contains__ = contains
        empty = is_empty
        copy = clone
+
+       if sys.hexversion < 0x3000000:
+               __nonzero__ = __bool__