From 96fd4533e19eff4ffac661af1bba517a4a11fb7d Mon Sep 17 00:00:00 2001 From: Romain Dorgueil Date: Sun, 12 Nov 2017 06:22:28 +0100 Subject: [PATCH] Adds a __getattr__ dunder to ValueHolder to enable getting attributes, and especially method calls, on contained objects. --- bonobo/util/objects.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bonobo/util/objects.py b/bonobo/util/objects.py index e4dd29e..209f4db 100644 --- a/bonobo/util/objects.py +++ b/bonobo/util/objects.py @@ -142,10 +142,10 @@ class ValueHolder: return divmod(other, self._value) def __pow__(self, other): - return self._value**other + return self._value ** other def __rpow__(self, other): - return other**self._value + return other ** self._value def __ipow__(self, other): self._value **= other @@ -225,6 +225,9 @@ class ValueHolder: def __setitem__(self, key, value): self._value[key] = value + def __getattr__(self, item): + return getattr(self._value, item) + def get_attribute_or_create(obj, attr, default): try: