def decorate_all_methods_and_properties(method_decorator, property_decorator):
def decorate_class(cls):<EOL><INDENT>for name, m in inspect.getmembers(cls, inspect.ismethod):<EOL><INDENT>if name != "<STR_LIT>":<EOL><INDENT>setattr(cls, name, method_decorator(m))<EOL><DEDENT><DEDENT>for name, p in inspect.getmembers(cls, lambda x: isinstance(x, property)):<EOL><INDENT>if name != "<STR_LIT>":<EOL><INDENT>setattr(cls, name, property_decorator(name, p))<EOL><DEDENT><DEDENT>return cls<EOL><DEDENT>return decorate_class<EOL>
...