summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/proxy/objectproxy.py10
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')())