Registry of Methods via Decorators
bayerj
bayerj at in.tum.de
Thu Jun 22 09:32:25 EDT 2006
I want to make a registry of methods of a class during creation. My
attempt was this
""" classdecorators.py
Author: Justin Bayer
Creation Date: 2006-06-22
Copyright (c) 2006 Chess Pattern Soft,
All rights reserved. """
class decorated(object):
methods = []
@classmethod
def collect_methods(cls, method):
cls.methods.append(method.__name__)
return method
class dec2(decorated):
@collect_methods
def first_func(self):
pass
@collect_methods
def second_func(self):
pass
def main():
print dec2.methods
if __name__ == '__main__':
main()
This does not work and exits with "NameError: ("name 'collect_methods'
is not defined",)". Which is understandable due to the fact that the
class dec2 is not complete.
Anyone can give me a hint how to work around this?
More information about the Python-list
mailing list