diff options
-rw-r--r-- | lib/git/method_missing.py | 17 |
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. """ |