summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/git/method_missing.py17
1 files changed, 7 insertions, 10 deletions
diff --git a/lib/git/method_missing.py b/lib/git/method_missing.py
index 51ff8326..06414cc4 100644
--- a/lib/git/method_missing.py
+++ b/lib/git/method_missing.py
@@ -5,16 +5,13 @@ class MethodMissingMixin(object):
This was `taken from a blog post <http://blog.iffy.us/?p=43>`_
"""
def __getattr__(self, attr):
- try:
- return object.__getattribute__(self, attr)
- except:
- class MethodMissing(object):
- def __init__(self, wrapped, method):
- self.__wrapped__ = wrapped
- self.__method__ = method
- def __call__(self, *args, **kwargs):
- return self.__wrapped__.method_missing(self.__method__, *args, **kwargs)
- return MethodMissing(self, attr)
+ class MethodMissing(object):
+ def __init__(self, wrapped, method):
+ self.__wrapped__ = wrapped
+ self.__method__ = method
+ def __call__(self, *args, **kwargs):
+ return self.__wrapped__.method_missing(self.__method__, *args, **kwargs)
+ return MethodMissing(self, attr)
def method_missing(self, *args, **kwargs):
""" This method should be overridden in the derived class. """