|
@@ -1,5 +1,6 @@
|
|
|
# http://stackoverflow.com/questions/3118929/implementing-the-decorator-pattern-in-python
|
|
# http://stackoverflow.com/questions/3118929/implementing-the-decorator-pattern-in-python
|
|
|
|
|
|
|
|
|
|
+
|
|
|
class foo_decorator(object):
|
|
class foo_decorator(object):
|
|
|
def __init__(self, decoratee):
|
|
def __init__(self, decoratee):
|
|
|
self._decoratee = decoratee
|
|
self._decoratee = decoratee
|
|
@@ -11,6 +12,7 @@ class foo_decorator(object):
|
|
|
def __getattr__(self, name):
|
|
def __getattr__(self, name):
|
|
|
return getattr(self._decoratee, name)
|
|
return getattr(self._decoratee, name)
|
|
|
|
|
|
|
|
|
|
+
|
|
|
class undecorated_foo(object):
|
|
class undecorated_foo(object):
|
|
|
def f1(self):
|
|
def f1(self):
|
|
|
print("original f1")
|
|
print("original f1")
|
|
@@ -18,6 +20,7 @@ class undecorated_foo(object):
|
|
|
def f2(self):
|
|
def f2(self):
|
|
|
print("original f2")
|
|
print("original f2")
|
|
|
|
|
|
|
|
|
|
+
|
|
|
@foo_decorator
|
|
@foo_decorator
|
|
|
class decorated_foo(object):
|
|
class decorated_foo(object):
|
|
|
def f1(self):
|
|
def f1(self):
|