diff options
-rw-r--r-- | pym/portage/proxy/objectproxy.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pym/portage/proxy/objectproxy.py b/pym/portage/proxy/objectproxy.py index 00c5076d1..6dffff7d5 100644 --- a/pym/portage/proxy/objectproxy.py +++ b/pym/portage/proxy/objectproxy.py @@ -45,7 +45,15 @@ class ObjectProxy(object): return iter(object.__getattribute__(self, '_get_target')()) def __len__(self): - return len(object.__getattribute__(self, '_get_target')()) + try: + return len(object.__getattribute__(self, '_get_target')()) + except TypeError: + # For python 3.x with boolean target, len() results in + # TypeError, so return 0 or 1. + if bool(object.__getattribute__(self, '_get_target')()): + return 1 + else: + return 0 def __repr__(self): return repr(object.__getattribute__(self, '_get_target')()) |