From 24effa4861d6d1e8cffe848ae63fa2ed40be03f6 Mon Sep 17 00:00:00 2001 From: Florian Apolloner Date: Sat, 7 Jun 2008 11:36:57 +0200 Subject: fixed up the getattr stuff --- lib/git/method_missing.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'lib/git/method_missing.py') 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 `_ """ 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. """ -- cgit v1.2.1